/* Options: Date: 2024-06-26 08:49:09 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CollidingBookingQuery.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* 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.") 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") var ResourceIds:ArrayList? = null /** * Time exception starting date */ @ApiMember(Description="Time exception starting date") var From:Date? = null /** * Time exception ending date */ @ApiMember(Description="Time exception ending date") 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 startime 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 startime for each recurring day.") 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.") 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") 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") 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") 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") 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") var Bookings:ArrayList = ArrayList() 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 { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class MultipleResourceSettings { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class ServiceInfoResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var ImageUrl:Uri? = null var LengthInMinutes:Int? = null var MaxNumberOfSpotsPerBooking:Int? = null var GroupBooking:GroupBookingSettings? = null var MultipleResource:MultipleResourceSettings? = null var IsGroupBooking:Boolean? = null var IsPaymentEnabled:Boolean? = null } open class BookedCustomer { var Id:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var Phone:String? = null var FacebookUserName:String? = null var ImageUrl:String? = null var CorporateIdentityNumber:String? = null var InvoiceAddress1:String? = null var InvoiceAddress2:String? = null var InvoiceCity:String? = null var InvoicePostalCode:String? = null var InvoiceCountryCode:String? = null } open class BookingIntervalResponse { var Id:Int? = null var CompanyId:UUID? = null var From:Date? = null var To:Date? = null var Status:BookingStatusEnum? = null var StatusId:Int? = null var StatusName:String? = null var Customer:BookedCustomer? = null var Service:ServiceInfoResponse? = null var CreatedDate:Date? = null }