/* Options: Date: 2025-09-13 20:03:43 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateResourceTimeException.* //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", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ApiResponse(Description="Bookings exist that need to be unbooked before creating this time exception, use the /timeexceptions/collidingevents to find which bookings and use the booking service to unbook them", StatusCode=409) @ValidateRequest(Validator="IsAuthenticated") open class CreateResourceTimeException : CreateResourceTimeExceptionBase(), IReturn, ICompany { /** * 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.") override var CompanyId:UUID? = null /** * Time exception starting datestamp, only the date of day part is used of this value */ @ApiMember(Description="Time exception starting datestamp, only the date of day part is used of this value", IsRequired=true) open var From:Date? = null /** * Time exception ending datestamp, only the date of day part is used of this value */ @ApiMember(Description="Time exception ending datestamp, only the date of day part is used of this value", IsRequired=true) open var To:Date? = null /** * Resource id of the resource that owns this exception */ @ApiMember(Description="Resource id of the resource that owns this exception", IsRequired=true) open var ResourceIds:ArrayList = ArrayList() /** * 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 end time 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 end time 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 /** * The reason of the time exception, example: Vacation, doctors appointment, ... */ @ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...", IsRequired=true) open var ReasonText:String? = null /** * The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ... */ @ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...") open var ReasonTextPublic:String? = null /** * What hexadecimal color code the exception should have in the scheduler */ @ApiMember(Description="What hexadecimal color code the exception should have in the scheduler") open var Color:String? = null /** * If the time exception should block the time in the scheduler so it's not avaialable to book */ @ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book") open var BlockTime:Boolean? = null /** * If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it */ @ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it") open var Private:Boolean? = null /** * By default sets to 1, which is to add time exception without canceling colliding bookings */ @ApiMember(Description="By default sets to 1, which is to add time exception without canceling colliding bookings") open var CollidingBookingOptions:CollidingBookingOptions? = null companion object { private val responseType = ResourceTimeExceptionQueryResponse::class.java } override fun getResponseType(): Any? = CreateResourceTimeException.responseType } open class ResourceTimeExceptionQueryResponse { /** * Time exception id */ @ApiMember(Description="Time exception id") open var Id:Int? = null /** * Time company id */ @ApiMember(Description="Time company id") open var CompanyId:UUID? = null /** * If it's locked for editing for the logged in administrator */ @ApiMember(Description="If it's locked for editing for the logged in administrator") open var Locked:Boolean? = null /** * Resources that owns this exception */ @ApiMember(Description="Resources that owns this exception") open var ResourceIds:ArrayList? = null /** * Resources that owns this exception */ @ApiMember(Description="Resources that owns this exception") open var Resources:ArrayList? = null /** * Indicates wheter or not the time exception is recurring */ @ApiMember(Description="Indicates wheter or not the time exception is recurring") open var IsRecurring:Boolean? = null /** * Time exception starting timestamp */ @ApiMember(Description="Time exception starting timestamp") open var From:Date? = null /** * Time exception ending timestamp */ @ApiMember(Description="Time exception ending timestamp") open var To:Date? = null /** * If recurring then this value indicates the time of day when the time exception begins */ @ApiMember(Description="If recurring then this value indicates the time of day when the time exception begins") open var FromTime:TimeSpan? = null /** * If recurring then this value indicates the time of day when the time exception ends */ @ApiMember(Description="If recurring then this value indicates the time of day when the time exception ends") open var ToTime:TimeSpan? = null /** * The reason of the time exception, example: Vacation, doctors appointment, ... */ @ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...") open var ReasonText:String? = null /** * The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ... */ @ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...") open var ReasonTextPublic:String? = null /** * What hexadecimal color code the exception should have in the scheduler */ @ApiMember(Description="What hexadecimal color code the exception should have in the scheduler") open var Color:String? = null /** * If the time exception should block the time in the scheduler so it's not avaialable to book */ @ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book") open var BlockTime:Boolean? = null /** * If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it */ @ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it") open var Private:Boolean? = null /** * If recurring, an array indicating which days of the week the exception recurs on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs */ @ApiMember(Description="If recurring, an array indicating which days of the week the exception recurs on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs") open var DaysOfWeek:ArrayList? = null /** * The datetime the exception was created */ @ApiMember(Description="The datetime the exception was created") open var Created:Date? = null open var ResponseStatus:ResponseStatus? = null } interface ICompany { var CompanyId:UUID? } enum class CollidingBookingOptions(val value:Int) { AddWithoutCancelingCollidingBookings(1), AddAndCancelCollidingBookings(2), } open class CreateResourceTimeExceptionBase { /** * If this equals true it will it add the time exception with the option you have selected in CollidingBookingOption. Default is to cancel all colliding bookings. */ @ApiMember(Description="If this equals true it will it add the time exception with the option you have selected in CollidingBookingOption. Default is to cancel all colliding bookings.") open var Force:Boolean? = null /** * When Force=true and colliding bookings exist, this message is the message that are sent to the users when canceling their bookings. */ @ApiMember(Description="When Force=true and colliding bookings exist, this message is the message that are sent to the users when canceling their bookings.") open var CancelMessage:String? = null /** * When Force=true and colliding bookings exist, send cancel message as SMS Confirmation */ @ApiMember(Description="When Force=true and colliding bookings exist, send cancel message as SMS Confirmation") open var SendSmsConfirmation:Boolean? = null /** * When Force=true and colliding bookings exist, send cancel message as Email Confirmation */ @ApiMember(Description="When Force=true and colliding bookings exist, send cancel message as Email Confirmation") open var SendEmailConfirmation:Boolean? = null } open class TimeExceptionReosurceDetails { /** * Ids of the resources that owns this exception */ @ApiMember(Description="Ids of the resources that owns this exception") open var Id:Int? = null /** * Name of the resource */ @ApiMember(Description="Name of the resource") open var Name:String? = null /** * Description of the resource */ @ApiMember(Description="Description of the resource") open var Description:String? = null /** * Color of the resource */ @ApiMember(Description="Color of the resource") open var Color:String? = null /** * Image of the resource */ @ApiMember(Description="Image of the resource") open var ImageUrl:Uri? = null open var ResponseStatus:ResponseStatus? = null } open class DayOfWeekDto { open var DayOfWeekId:Int? = null open var DotNetDayOfWeekId:Int? = null open var DayOfWeek:String? = null }