/* Options: Date: 2025-08-21 02:50:41 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateArticleRebateCode.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* 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="") var CompanyId:UUID? = null /** * Article ID for the rebate code */ @ApiMember(Description="Article ID for the rebate code", IsRequired=true) var ArticleId:Int? = null /** * Customer information */ @ApiMember(Description="Customer information") 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. ") var InvoiceAddress:InvoiceAddressToHandle? = null /** * Promo code Receiver information */ @ApiMember(Description="Promo code Receiver information") var Receiver:PromoCodeReceiver? = null companion object { private val responseType = RebateCodeResponse::class.java } override fun getResponseType(): Any? = CreateArticleRebateCode.responseType } open class RebateCodeResponse { var Id:Int? = null var CompanyId:UUID? = null var ValidFrom:Date? = null 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.") 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.") var ToTime:TimeSpan? = null var CreatedBy:String? = null var Created:Date? = null var UpdatedBy:String? = null var Updated:Date? = null var PersonalNote:String? = null var RebateCodeSign:String? = null var RebateCodeValue:Int? = null var RebateCodeTypeId:Int? = null var Name:String? = null var RebateCodeStatusId:Int? = null var StatusName:String? = null var MaxNumberOfUses:Int? = null var MaxNumberOfUsesPerCustomer:Int? = null var NumberOfUsesUsed:Int? = null var DaysOfWeek:ArrayList = ArrayList() var Services:ArrayList = ArrayList() var Article:ArticleResponse? = null var Transactions:ArrayList = ArrayList() var RemainingAmount:Double? = null var RemainingUsage:Int? = null var Customers:ArrayList = ArrayList() var ResponseStatus:ResponseStatus? = null var PaymentReceived:Boolean? = null var RebateCodeCurrencySign:String? = null var ActiveByStatus:Boolean? = null var PriceSign:String? = null var RebateCodeTypeName:String? = null var Company:RebateCodeCompanyResponse? = null } open interface ICompany { var CompanyId:UUID? } open class CustomerToHandle { var CustomerId:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var Phone:String? = null var SubscribedToNewsletter:Boolean? = null } open class InvoiceAddressToHandle { var CorporateIdentityNumber:String? = null var InvoiceAddress1:String? = null var InvoiceAddress2:String? = null var InvoiceCity:String? = null var InvoicePostalCode:String? = null var InvoiceCountryCode:String? = null } open class PromoCodeReceiver { var CustomerId:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var ReceiverMessage:String? = null } open class RebateCodeTransactionQueryResponse { var Id:Int? = null var CompanyId:UUID? = null var Note:String? = null var RebateCodeId:Int? = null var RebateCodeSign:String? = null var RebateCodeTypeId:Int? = null var RebateCodeTypeName:String? = null var Amount:Double? = null var Usage:String? = null var BookingId:Int? = null var UpdatedDate:Date? = null var CreatedDate:Date? = null var Service:RebateCodeServiceResponse? = null var Customer:RebateCodeCustomerResponse? = null var PriceSign:String? = null } open class DaysOfWeekResponse { var Id:Int? = null var DayOfWeek:String? = null var DayOfWeekTranslation:String? = null var DayOfWeekActive:Boolean? = null var DayOfWeekSortOrder:Short? = null } open class RebateCodeServiceResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var Active:Boolean? = null } open class RebateCodeCustomerResponse { var Id:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var Phone:String? = null var ImageUrl:String? = null } open class RebateCodeCompanyResponse { var SitePath:String? = null var PaymentProviderId:Int? = null } open class ArticleResponse { var CompanyId:UUID? = null var Id:Int? = null var Name:String? = null var ArticleTypeId:Int? = null var Description:String? = null var ImageUrl:String? = null var Active:Boolean? = null var Amount:Int? = null var Price:Double? = null var CurrencyId:String? = null var UpdatedDate:Date? = null var CreatedDate:Date? = null var Services:ArrayList = ArrayList() var ServiceIds:ArrayList = ArrayList() var PriceSign:String? = null var VAT:BigDecimal? = null }