/* Options: Date: 2025-09-13 19:56:58 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateArticleRebateCode.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/rebatecodes/fromarticle", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class CreateArticleRebateCode : IReturn, ICompany { /** * */ @ApiMember(Description="") override var CompanyId:UUID? = null /** * Article ID for the rebate code */ @ApiMember(Description="Article ID for the rebate code", IsRequired=true) open var ArticleId:Int? = null /** * Customer information */ @ApiMember(Description="Customer information") open var Customer:CustomerToHandle? = null /** * If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. */ @ApiMember(Description="If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. ") open var InvoiceAddress:InvoiceAddressToHandle? = null /** * Promo code receiver information */ @ApiMember(Description="Promo code receiver information") open var Receiver:PromoCodeReceiver? = null companion object { private val responseType = RebateCodeResponse::class.java } override fun getResponseType(): Any? = CreateArticleRebateCode.responseType } open class RebateCodeResponse { open var Id:Int? = null open var CompanyId:UUID? = null open var ValidFrom:Date? = null open var ValidTo:Date? = null /** * If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update. */ @ApiMember(Description="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.") open var FromTime:TimeSpan? = null /** * If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */ @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.") open var ToTime:TimeSpan? = null open var CreatedBy:String? = null open var Created:Date? = null open var UpdatedBy:String? = null open var Updated:Date? = null open var PersonalNote:String? = null open var RebateCodeSign:String? = null open var RebateCodeValue:Int? = null open var RebateCodeTypeId:Int? = null open var Name:String? = null open var RebateCodeStatusId:Int? = null open var StatusName:String? = null open var MaxNumberOfUses:Int? = null open var MaxNumberOfUsesPerCustomer:Int? = null open var NumberOfUsesUsed:Int? = null open var DaysOfWeek:ArrayList? = null open var Services:ArrayList? = null open var Article:ArticleResponse? = null open var Transactions:ArrayList? = null open var RemainingAmount:Double? = null open var RemainingUsage:Int? = null open var Customers:ArrayList? = null open var ResponseStatus:ResponseStatus? = null open var PaymentReceived:Boolean? = null open var RebateCodeCurrencySign:String? = null open var ActiveByStatus:Boolean? = null open var PriceSign:String? = null open var RebateCodeTypeName:String? = null open var Company:RebateCodeCompanyResponse? = null } interface ICompany { var CompanyId:UUID? } open class CustomerToHandle { open var CustomerId:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null open var SubscribedToNewsletter:Boolean? = null } open class InvoiceAddressToHandle { open var CorporateIdentityNumber:String? = null open var InvoiceAddress1:String? = null open var InvoiceAddress2:String? = null open var InvoiceCity:String? = null open var InvoicePostalCode:String? = null open var InvoiceCountryCode:String? = null } open class PromoCodeReceiver { open var CustomerId:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var ReceiverMessage:String? = null } open class RebateCodeTransactionQueryResponse { open var Id:Int? = null open var CompanyId:UUID? = null open var Note:String? = null open var RebateCodeId:Int? = null open var RebateCodeSign:String? = null open var RebateCodeTypeId:Int? = null open var RebateCodeTypeName:String? = null open var Amount:Double? = null open var Usage:String? = null open var BookingId:Int? = null open var UpdatedDate:Date? = null open var CreatedDate:Date? = null open var Service:RebateCodeServiceResponse? = null open var Customer:RebateCodeCustomerResponse? = null open var PriceSign:String? = null } open class DaysOfWeekResponse { open var Id:Int? = null open var DayOfWeek:String? = null open var DayOfWeekTranslation:String? = null open var DayOfWeekActive:Boolean? = null open var DayOfWeekSortOrder:Short? = null } open class RebateCodeServiceResponse { open var Id:Int? = null open var Name:String? = null open var Description:String? = null open var Active:Boolean? = null } open class RebateCodeCustomerResponse { open var Id:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null open var ImageUrl:String? = null } open class RebateCodeCompanyResponse { open var SitePath:String? = null open var PaymentProviderId:Int? = null } open class ArticleResponse { open var CompanyId:UUID? = null open var Id:Int? = null open var Name:String? = null open var ArticleTypeId:Int? = null open var Description:String? = null open var ImageUrl:String? = null open var Active:Boolean? = null open var Amount:Int? = null open var Price:Double? = null open var CurrencyId:String? = null open var UpdatedDate:Date? = null open var CreatedDate:Date? = null open var Services:ArrayList? = null open var ServiceIds:ArrayList? = null open var PriceSign:String? = null open var VAT:BigDecimal? = null }