/* Options: Date: 2024-06-29 09:52:33 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: CreateResourceTimeException.* //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", 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 exists that needs to be unbooked before creating this time exceptions, use the /timeexceptions/collidingevents to find which bookings and use the booking service to unbook them", StatusCode=409) @ValidateRequest(Validator="IsAuthenticated") open class CreateResourceTimeException : 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.") 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) 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) 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) var ResourceIds:ArrayList? = 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 /** * The reason of the time exception, example: Vacation, doctors appointment, ... */ @ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...", IsRequired=true) 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, ...") 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") 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") 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") 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") var CollidingBookingOptions:CollidingBookingOptions? = null /** * 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.") var Force:Boolean? = null /** * When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings. */ @ApiMember(Description="When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings.") var CancelMessage:String? = null /** * When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation */ @ApiMember(Description="When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation") var SendSmsConfirmation:Boolean? = null /** * When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation */ @ApiMember(Description="When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation") var SendEmailConfirmation:Boolean? = 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") var Id:Int? = null /** * Time company id */ @ApiMember(Description="Time company id") 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") var Locked:Boolean? = null /** * Resources that owns this exception */ @ApiMember(Description="Resources that owns this exception") var ResourceIds:ArrayList? = null /** * Resources that owns this exception */ @ApiMember(Description="Resources that owns this exception") var Resources:ArrayList = ArrayList() /** * Indicates wheter or not the time exception is recurring */ @ApiMember(Description="Indicates wheter or not the time exception is recurring") var IsRecurring:Boolean? = null /** * Time exception starting timestamp */ @ApiMember(Description="Time exception starting timestamp") var From:Date? = null /** * Time exception ending timestamp */ @ApiMember(Description="Time exception ending timestamp") 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") 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") 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, ...") 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, ...") 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") 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") 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") var Private:Boolean? = null /** * The status for export to calendars like Gcal */ @ApiMember(Description="The status for export to calendars like Gcal") var CalendarExportStatus:ExceptionCalendarExportStatus? = null /** * If recurring, an array indicating which days of the week the exception recures 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 recures 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") var DaysOfWeek:ArrayList = ArrayList() /** * The datetime the exception was created */ @ApiMember(Description="The datetime the exception was created") var Created:Date? = null var ResponseStatus:ResponseStatus? = null } open interface ICompany { var CompanyId:UUID? } enum class CollidingBookingOptions(val value:Int) { AddWithoutCancelingCollidingBookings(1), AddAndCancelCollidingBookings(2), } open class TimeExceptionReosurceDetails { /** * Ids of the resources that owns this exception */ @ApiMember(Description="Ids of the resources that owns this exception") var Id:Int? = null /** * Name of the resource */ @ApiMember(Description="Name of the resource") var Name:String? = null /** * Description of the resource */ @ApiMember(Description="Description of the resource") var Description:String? = null /** * Color of the resource */ @ApiMember(Description="Color of the resource") var Color:String? = null /** * Image of the resource */ @ApiMember(Description="Image of the resource") var ImageUrl:Uri? = null var ResponseStatus:ResponseStatus? = null } open class ExceptionCalendarExportStatus { var CalendarId:String? = null var ExceptionId:Int? = null var Synced:Boolean? = null } open class DayOfWeekDto { var DayOfWeekId:Int? = null var DotNetDayOfWeekId:Int? = null var DayOfWeek:String? = null }