/* Options: Date: 2025-09-17 20:37:54 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateBookingUserQueue.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/bookinguserqueue", Verbs="POST") open class CreateBookingUserQueue : IReturn { open var CompanyId:UUID? = null open var CustomerId:UUID? = null open var Customer:CustomerToHandle? = null open var InvoiceAddress:InvoiceAddressToHandle? = null open var ServiceId:Int? = null open var From:Date? = null open var To:Date? = null open var Quantities:ArrayList? = null /** * 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") open var CustomFields:ArrayList? = null companion object { private val responseType = BookingUserQueueItemResponse::class.java } override fun getResponseType(): Any? = CreateBookingUserQueue.responseType } open class BookingUserQueueItemResponse { open var BookingUserQueueId:Int? = null open var CompanyId:UUID? = null open var CustomerId:UUID? = null open var ServiceId:Int? = null open var From:Date? = null open var To:Date? = null open var StatusCode:Int? = null open var StatusName:String? = null open var SendConfirmationTime:Date? = null open var Quantities:ArrayList? = null open var Service:ServiceInfoResponse? = null open var Company:CompanyInfoResponse? = null } open class AddCustomField { open var Id:Int? = null open var Value:String? = null } open class CustomerToHandle { open var CustomerId:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null open var SubscribedToNewsletter:Boolean? = null } open class InvoiceAddressToHandle { open var CorporateIdentityNumber:String? = null open var InvoiceAddress1:String? = null open var InvoiceAddress2:String? = null open var InvoiceCity:String? = null open var InvoicePostalCode:String? = null open var InvoiceCountryCode:String? = null } open class QuantityToBook { /** * 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) open var PriceId:Int? = null /** * 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) open var Quantity:Int? = null /** * 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.") open var OccupiesSpot:Boolean? = null } open class GroupBookingSettings { open var Active:Boolean? = null open var Min:Int? = null open var Max:Int? = null } open class MultipleResourceSettings { open var Active:Boolean? = null open var Min:Int? = null open var Max:Int? = null } open class BookingUserQueuePriceResponse { open var CompanyId:UUID? = null open var Id:Int? = null open var BookingUserQueueId:Int? = null open var ServicePriceId:Int? = null open var Quantity:Int? = null } open class ServiceInfoResponse { open var Id:Int? = null open var Name:String? = null open var Description:String? = null open var ImageUrl:Uri? = null open var LengthInMinutes:Int? = null open var MaxNumberOfSpotsPerBooking:Int? = null open var MinNumberOfSpotsPerBooking:Int? = null open var GroupBooking:GroupBookingSettings? = null open var MultipleResource:MultipleResourceSettings? = null open var IsGroupBooking:Boolean? = null open var IsPaymentEnabled:Boolean? = null } open class CompanyInfoResponse { open var Id:UUID? = null open var Name:String? = null open var LogoType:Uri? = null open var Category:String? = null open var Street1:String? = null open var Street2:String? = null open var ZipCode:String? = null open var City:String? = null open var CountryId:String? = null open var Longitude:String? = null open var Latitude:String? = null open var Phone:String? = null open var Email:String? = null open var HomePage:String? = null open var SitePath:String? = null }