/* Options: Date: 2024-09-30 10:23:36 SwiftVersion: 5.0 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: UpdateRebateCode.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/rebatecodes/{Id}", "PUT") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") public class UpdateRebateCode : IReturn, ICompany, Codable { public typealias Return = RebateCodeResponse /** * Id of the rebate code */ // @ApiMember(Description="Id of the rebate code", IsRequired=true, ParameterType="path") public var id:Int? public var companyId:String? /** * The default value is 9999 */ // @ApiMember(Description="The default value is 9999") public var maxNumberOfUses:Int? /** * The default value is 1 */ // @ApiMember(Description="The default value is 1") public var maxNumberOfUsesPerCustomer:Int? /** * AutoGenerateRebateCodeSign=true - random generate code */ // @ApiMember(Description="AutoGenerateRebateCodeSign=true - random generate code") public var autoGenerateRebateCodeSign:Bool /** * 1 - Percent, 2 - Сurrency */ // @ApiMember(Description="1 - Percent, 2 - Сurrency") public var rebateCodeTypeId:Int /** * */ // @ApiMember(Description="") public var validFrom:Date? /** * */ // @ApiMember(Description="") public var validTo:Date? /** * 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.") @TimeSpan public var fromTime:TimeInterval? /** * 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.") @TimeSpan public var toTime:TimeInterval? public var rebateCodeValue:Int? /** * Is empty - random generate code, is not empty - more than four letters, unique among active codes */ // @ApiMember(Description="Is empty - random generate code, is not empty - more than four letters, unique among active codes") public var rebateCodeSign:String /** * */ // @ApiMember(Description="") public var personalNote:String /** * */ // @ApiMember(Description="") public var daysOfWeek:[Int] = [] /** * */ // @ApiMember(Description="") public var services:[Int] = [] /** * */ // @ApiMember(Description="") public var customers:[String] = [] required public init(){} } public class RebateCodeResponse : Codable { public var id:Int public var companyId:String? public var validFrom:Date public var validTo:Date /** * 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.") @TimeSpan public var fromTime:TimeInterval /** * 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.") @TimeSpan public var toTime:TimeInterval public var createdBy:String public var created:Date public var updatedBy:String public var updated:Date public var personalNote:String public var rebateCodeSign:String public var rebateCodeValue:Int public var rebateCodeTypeId:Int public var name:String public var rebateCodeStatusId:Int public var statusName:String public var maxNumberOfUses:Int public var maxNumberOfUsesPerCustomer:Int public var numberOfUsesUsed:Int public var daysOfWeek:[DaysOfWeekResponse] = [] public var services:[RebateCodeServiceResponse] = [] public var article:ArticleResponse public var transactions:[RebateCodeTransactionQueryResponse] = [] public var remainingAmount:Double? public var remainingUsage:Int? public var customers:[RebateCodeCustomerResponse] = [] public var responseStatus:ResponseStatus public var paymentReceived:Bool public var rebateCodeCurrencySign:String public var activeByStatus:Bool public var priceSign:String public var rebateCodeTypeName:String required public init(){} } public protocol ICompany { var companyId:String? { get set } } public class RebateCodeTransactionQueryResponse : Codable { public var id:Int public var companyId:String public var note:String public var rebateCodeId:Int public var rebateCodeSign:String public var rebateCodeTypeId:Int? public var rebateCodeTypeName:String public var amount:Double public var bookingId:Int? public var updatedDate:Date public var createdDate:Date public var service:RebateCodeServiceResponse public var customer:RebateCodeCustomerResponse public var priceSign:String required public init(){} } public class DaysOfWeekResponse : Codable { public var id:Int public var dayOfWeek:String public var dayOfWeekTranslation:String public var dayOfWeekActive:Bool? public var dayOfWeekSortOrder:Int16? required public init(){} } public class RebateCodeServiceResponse : Codable { public var id:Int public var name:String public var Description:String public var active:Bool required public init(){} } public class RebateCodeCustomerResponse : Codable { public var id:String public var firstname:String public var lastname:String public var email:String public var phone:String public var imageUrl:String required public init(){} } public class ArticleResponse : Codable { public var companyId:String public var id:Int public var name:String public var articleTypeId:Int public var Description:String public var imageUrl:String public var active:Bool public var amount:Int public var price:Double public var currencyId:String public var updatedDate:Date public var createdDate:Date public var services:[ArticleServiceDb] = [] public var serviceIds:[Int] = [] public var priceSign:String required public init(){} }