/* Options: Date: 2024-07-03 12:36:23 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateRecurringSchedule.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/schedules/recurring", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @ValidateRequest(Validator="IsAuthenticated") open class CreateRecurringSchedule : 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 /** * The schedule name */ @ApiMember(Description="The schedule name") var Name:String? = null /** * The schedule description */ @ApiMember(Description="The schedule description") var Description:String? = null /** * If schedule is active or not */ @ApiMember(Description="If schedule is active or not") var Active:Boolean? = null /** * Time interval for available times. Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM */ @ApiMember(Description="Time interval for available times. Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM", IsRequired=true) var TimeInterval:Int? = null /** * Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight). */ @ApiMember(Description="Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).", IsRequired=true) var EnableBookingUntilClosingTime:Boolean? = null /** * The timestamp to which the schedule is valid from */ @ApiMember(Description="The timestamp to which the schedule is valid from", IsRequired=true) var ValidFrom:Date? = null /** * The timestamp to which the schedule is valid to */ @ApiMember(Description="The timestamp to which the schedule is valid to", IsRequired=true) var ValidTo:Date? = null /** * The time for the schedule opening hours (starttime) */ @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true) var StartTime:TimeSpan? = null /** * The time for the schedule opening hours (endtime) */ @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true) var EndTime:TimeSpan? = null /** * The number of days the schedule is valid from todays date */ @ApiMember(Description="The number of days the schedule is valid from todays date", IsRequired=true) var NumberOfScheduleDays:Int? = null /** * If recurring, an array indicating which days of the week the schedule 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 schedule 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? = null /** * If not recuring, an array indicating which dates that are open for the schedule. */ @ApiMember(Description="If not recuring, an array indicating which dates that are open for the schedule.") var ScheduleDates:ArrayList = ArrayList() /** * Schedule exceptions. For example closed on lunch time between 12AM and 1PM. These times will be removed from the recurring schedule. */ @ApiMember(Description="Schedule exceptions. For example closed on lunch time between 12AM and 1PM. These times will be removed from the recurring schedule.") var Exceptions:ArrayList = ArrayList() /** * If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources. */ @ApiMember(Description="If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources.") var Resources:ArrayList = ArrayList() /** * Set what services the schedule should be connected to. */ @ApiMember(Description="Set what services the schedule should be connected to.") var Services:ArrayList = ArrayList() companion object { private val responseType = RecurringScheduleQueryResponse::class.java } override fun getResponseType(): Any? = CreateRecurringSchedule.responseType } open class RecurringScheduleQueryResponse { /** * The schedule id */ @ApiMember(Description="The schedule id") var Id:Int? = null /** * Name of the schedule */ @ApiMember(Description="Name of the schedule") var Name:String? = null /** * Description of the schedule */ @ApiMember(Description="Description of the schedule") var Description:String? = null /** * If the schedule is active or not */ @ApiMember(Description="If the schedule is active or not") var Active:Boolean? = null /** * Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM */ @ApiMember(Description="Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM", IsRequired=true) var TimeInterval:Int? = null /** * The timestamp to which the schedule is valid from */ @ApiMember(Description="The timestamp to which the schedule is valid from", IsRequired=true) var ValidFrom:Date? = null /** * The timestamp to which the schedule is valid to */ @ApiMember(Description="The timestamp to which the schedule is valid to", IsRequired=true) var ValidTo:Date? = null /** * The time for the schedule opening hours (starttime) */ @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true) var StartTime:TimeSpan? = null /** * The time for the schedule opening hours (endtime) */ @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true) var EndTime:TimeSpan? = null /** * The number of days the schedule is valid from todays date */ @ApiMember(Description="The number of days the schedule is valid from todays date", IsRequired=true) var NumberOfScheduleDays:Int? = null /** * If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this. */ @ApiMember(Description="If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.", IsRequired=true) var IsResourceSpecific:Boolean? = null /** * The timestamp when the schedule was updated */ @ApiMember(Description="The timestamp when the schedule was updated", IsRequired=true) var UpdatedDate:Date? = null /** * The timestamp when the schedule was created */ @ApiMember(Description="The timestamp when the schedule was created", IsRequired=true) var CreatedDate:Date? = null /** * Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight). */ @ApiMember(Description="Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).", IsRequired=true) var EnableBookingUntilClosingTime:Boolean? = 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 resources that is connected to the schedule */ @ApiMember(Description="The resources that is connected to the schedule") var Resources:ArrayList = ArrayList() /** * The services that is connected to the schedule */ @ApiMember(Description="The services that is connected to the schedule") var Services:ArrayList = ArrayList() /** * The exceptions that is added to the schedule */ @ApiMember(Description="The exceptions that is added to the schedule") var Exceptions:ArrayList = ArrayList() /** * Schedule dates, used when the schedule is not a rolling schedule using days of week */ @ApiMember(Description="Schedule dates, used when the schedule is not a rolling schedule using days of week") var ScheduleDates:ArrayList = ArrayList() var ResponseStatus:ResponseStatus? = null } open interface ICompany { var CompanyId:UUID? } open class AddRecurringScheduleDate { /** * The date for the schedule opening (only date part is used here */ @ApiMember(Description="The date for the schedule opening (only date part is used here", IsRequired=true) var Date:Date? = null /** * The time for the schedule opening hours (starttime) */ @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true) var StartTime:TimeSpan? = null /** * The time for the schedule opening hours (endtime) */ @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true) var EndTime:TimeSpan? = null } open class ScheduleException { var StartTime:TimeSpan? = null var EndTime:TimeSpan? = null } open class AddScheduleService { /** * The service id */ @ApiMember(Description="The service id", IsRequired=true) var Id:Int? = null } open class AddScheduleResource { /** * The resource id */ @ApiMember(Description="The resource id", IsRequired=true) var Id:Int? = null } open class DayOfWeekDto { var DayOfWeekId:Int? = null var DotNetDayOfWeekId:Int? = null var DayOfWeek:String? = null } open class ScheduleResources { var Id:Int? = null /** * Name of the resource */ @ApiMember(Description="Name of the resource") var Name:String? = null /** * The image url of the resource */ @ApiMember(Description="The image url of the resource") var ImageUrl:Uri? = null } open class ScheduleServices { var Id:Int? = null /** * Name of the service */ @ApiMember(Description="Name of the service") var Name:String? = null /** * The image url of the service */ @ApiMember(Description="The image url of the service") var ImageUrl:Uri? = null } open class RecurringScheduleExceptionResponse { /** * Start time of the schedule exception. */ @ApiMember(Description="Start time of the schedule exception.") var StartTime:TimeSpan? = null /** * End time of the schedule exception. */ @ApiMember(Description="End time of the schedule exception.") var EndTime:TimeSpan? = null } open class RecurringScheduleDateResponse { var Id:Int? = null var Date:Date? = null var StartTime:TimeSpan? = null var EndTime:TimeSpan? = null var ResponseStatus:ResponseStatus? = null }