/* Options: Date: 2024-09-30 10:17:50 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateRebateCode.* //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", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @ValidateRequest(Validator="IsAuthenticated") open class CreateRebateCode : IReturn { /** * */ @ApiMember(Description="") var CompanyId:UUID? = null /** * The default value is 9999 */ @ApiMember(Description="The default value is 9999") var MaxNumberOfUses:Int? = null /** * The default value is 1 */ @ApiMember(Description="The default value is 1") var MaxNumberOfUsesPerCustomer:Int? = null /** * */ @ApiMember(Description="", IsRequired=true) var ValidFrom:Date? = null /** * */ @ApiMember(Description="", IsRequired=true) 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 /** * 1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard */ @ApiMember(Description="1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard", IsRequired=true) var RebateCodeTypeId:Int? = null /** * If it's connected to an Article, add the Article Id here. */ @ApiMember(Description="If it's connected to an Article, add the Article Id here.") var ArticleId:Int? = null /** * */ @ApiMember(Description="", IsRequired=true) var RebateCodeValue:Int? = null /** * If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes */ @ApiMember(Description="If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes") var RebateCodeSign:String? = null /** * AutoGenerateRebateCodeSign=true - random generate code */ @ApiMember(Description="AutoGenerateRebateCodeSign=true - random generate code") var AutoGenerateRebateCodeSign:Boolean? = null /** * */ @ApiMember(Description="") var PersonalNote:String? = null /** * */ @ApiMember(Description="") var DaysOfWeek:ArrayList = ArrayList() /** * */ @ApiMember(Description="") var Services:ArrayList = ArrayList() /** * */ @ApiMember(Description="") var Customers:ArrayList = ArrayList() /** * The price */ @ApiMember(Description="The price") var PriceVat:BigDecimal? = null /** * The price currency */ @ApiMember(Description="The price currency") var CurrencyId:String? = null /** * Promo code Receiver infomration */ @ApiMember(Description="Promo code Receiver infomration") var PromoCodeReceiver:PromoCodeReceiver? = null companion object { private val responseType = RebateCodeResponse::class.java } override fun getResponseType(): Any? = CreateRebateCode.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 } 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 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 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 }