/* Options: Date: 2025-09-15 14:29:54 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CreateArticleRebateCode.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/rebatecodes/fromarticle", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) public class CreateArticleRebateCode : IReturn, ICompany, Codable { public typealias Return = RebateCodeResponse /** * */ // @ApiMember(Description="") public var companyId:String? /** * Article ID for the rebate code */ // @ApiMember(Description="Article ID for the rebate code", IsRequired=true) public var articleId:Int? /** * Customer information */ // @ApiMember(Description="Customer information") public var customer:CustomerToHandle? /** * 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. ") public var invoiceAddress:InvoiceAddressToHandle? /** * Promo code receiver information */ // @ApiMember(Description="Promo code receiver information") public var receiver:PromoCodeReceiver? 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? public var company:RebateCodeCompanyResponse? required public init(){} } public protocol ICompany { var companyId:String? { get set } } public class CustomerToHandle : Codable { public var customerId:String? public var firstname:String? public var lastname:String? public var email:String? public var phone:String? public var subscribedToNewsletter:Bool? required public init(){} } public class InvoiceAddressToHandle : Codable { public var corporateIdentityNumber:String? public var invoiceAddress1:String? public var invoiceAddress2:String? public var invoiceCity:String? public var invoicePostalCode:String? public var invoiceCountryCode:String? required public init(){} } public class PromoCodeReceiver : Codable { public var customerId:String? public var firstname:String? public var lastname:String? public var email:String? public var receiverMessage:String? required public init(){} } 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 usage:String? 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 RebateCodeCompanyResponse : Codable { public var sitePath:String? public var paymentProviderId:Int? 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:[ArticleServiceRelation]? public var serviceIds:[Int]? public var priceSign:String? public var vat:Double? required public init(){} }