/* Options: Date: 2025-09-13 19:50:28 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: CollidingBookingQuery.* //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="/timeexceptions/collidingevents", Verbs="GET") @ApiResponse(Description="The request parameters was not valid", StatusCode=400) // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) @ValidateRequest(Validator="IsAuthenticated") open class CollidingBookingQuery : IReturn { /** * The company id, if empty will use the company id for the user you are logged in with. */ @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") open var CompanyId:UUID? = null /** * Resource ids of the resource that should be matched against booked events */ @ApiMember(Description="Resource ids of the resource that should be matched against booked events") open var ResourceIds:ArrayList? = null /** * Time exception starting date */ @ApiMember(Description="Time exception starting date") open var From:Date? = null /** * Time exception ending date */ @ApiMember(Description="Time exception ending date") open var To:Date? = null /** * This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the start time for each recurring day. */ @ApiMember(Description="This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the start time for each recurring day.") open var FromTime:TimeSpan? = null /** * This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day. */ @ApiMember(Description="This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.") open var ToTime:TimeSpan? = null /** * A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday */ @ApiMember(Description="A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday") open var DaysOfWeek:ArrayList? = null /** * If you want to include the service information for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") open var IncludeServiceInformation:Boolean? = null /** * If you want to include the customer information for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") open var IncludeCustomerInformation:Boolean? = null companion object { private val responseType = CollidingBookingQueryResponse::class.java } override fun getResponseType(): Any? = CollidingBookingQuery.responseType } open class CollidingBookingQueryResponse { /** * Resource id of the resource that owns this exception */ @ApiMember(Description="Resource id of the resource that owns this exception") open var ResourceIds:ArrayList? = null /** * A list of bookings that would collide with the time exception */ @ApiMember(Description="A list of bookings that would collide with the time exception") open var Bookings:ArrayList? = null open var ResponseStatus:ResponseStatus? = null } enum class BookingStatusEnum(val value:Int) { Booked(1), Unbooked(2), Reserved(3), Canceled(4), AwaitingPayment(5), AwaitingPaymentNoTimeLimit(6), Payed(7), AwaitingPaymentRequestFromAdmin(8), AwaitingPaymentFromProvider(9), Invoiced(10), } 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 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 BookedCustomer { open var Id:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null open var FacebookUserName:String? = null open var ImageUrl:String? = null 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 BookingIntervalResponse { open var Id:Int? = null open var CompanyId:UUID? = null open var From:Date? = null open var To:Date? = null open var Status:BookingStatusEnum? = null open var StatusId:Int? = null open var StatusName:String? = null open var Customer:BookedCustomer? = null open var Service:ServiceInfoResponse? = null open var CreatedDate:Date? = null }