/* Options: Date: 2025-09-15 16:22:22 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: CreateBookingUserQueue.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/bookinguserqueue", "POST") public class CreateBookingUserQueue : IReturn, Codable { public typealias Return = BookingUserQueueItemResponse public var companyId:String? public var customerId:String? public var customer:CustomerToHandle? public var invoiceAddress:InvoiceAddressToHandle? public var serviceId:Int? public var from:Date? public var to:Date? public var quantities:[QuantityToBook]? /** * If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved */ // @ApiMember(Description="If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved") public var customFields:[AddCustomField]? required public init(){} } public class BookingUserQueueItemResponse : Codable { public var bookingUserQueueId:Int? public var companyId:String? public var customerId:String? public var serviceId:Int? public var from:Date? public var to:Date? public var statusCode:Int? public var statusName:String? public var sendConfirmationTime:Date? public var quantities:[BookingUserQueuePriceResponse]? public var service:ServiceInfoResponse? public var company:CompanyInfoResponse? required public init(){} } public class AddCustomField : Codable { public var id:Int? public var value:String? required public init(){} } 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 QuantityToBook : Codable { /** * If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book) */ // @ApiMember(Description="If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)", IsRequired=true) public var priceId:Int? /** * Set the number of spots or resources you want to book on the specific price category */ // @ApiMember(Description="Set the number of spots or resources you want to book on the specific price category", IsRequired=true) public var quantity:Int? /** * If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ // @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.") public var occupiesSpot:Bool? required public init(){} } public class GroupBookingSettings : Codable { public var active:Bool? public var min:Int? public var max:Int? required public init(){} } public class MultipleResourceSettings : Codable { public var active:Bool? public var min:Int? public var max:Int? required public init(){} } public class BookingUserQueuePriceResponse : Codable { public var companyId:String? public var id:Int? public var bookingUserQueueId:Int? public var servicePriceId:Int? public var quantity:Int? required public init(){} } public class ServiceInfoResponse : Codable { public var id:Int? public var name:String? public var Description:String? public var imageUrl:Uri? public var lengthInMinutes:Int? public var maxNumberOfSpotsPerBooking:Int? public var minNumberOfSpotsPerBooking:Int? public var groupBooking:GroupBookingSettings? public var multipleResource:MultipleResourceSettings? public var isGroupBooking:Bool? public var isPaymentEnabled:Bool? required public init(){} } public class CompanyInfoResponse : Codable { public var id:String? public var name:String? public var logoType:Uri? public var category:String? public var street1:String? public var street2:String? public var zipCode:String? public var city:String? public var countryId:String? public var longitude:String? public var latitude:String? public var phone:String? public var email:String? public var homePage:String? public var sitePath:String? required public init(){} }