/* Options: Date: 2025-12-11 09:30:54 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reservation.api.dev.86degrees.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetFacilitySchedule.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* open class GetFacilitySchedule : ApiServiceRequest(), IReturn { var facilityId:Int? = null var start:Date? = null var end:Date? = null companion object { private val responseType = GetFacilityScheduleResponse::class.java } override fun getResponseType(): Any? = GetFacilitySchedule.responseType } open class GetFacilityScheduleResponse : ApiServiceResponse() { var schedule:ArrayList = ArrayList() var bookAheadMaxDate:String? = null var openHour:Int? = null var closeHour:Int? = null var duration:Int? = null var isCoordinator:Boolean? = null var facilityTimeOffset:Int? = null var facility:FacilityData? = null var venueName:String? = null var allowGuests:Boolean? = null var allowExtraRequirements:Boolean? = null var allowBookingInProgress:Boolean? = null } open class SlotData { var start:String? = null var end:String? = null var status:SlotStatus? = null var bookingId:Int? = null var remindStart:Boolean? = null var remind30Mins:Boolean? = null var remind1Hour:Boolean? = null var remind6Hours:Boolean? = null var remind12Hours:Boolean? = null var remind1Day:Boolean? = null var remind1Week:Boolean? = null var billableAmount:BigDecimal? = null var bookedByName:String? = null var billableHours:Double? = null var slotLength:Double? = null var userData:GuestData? = null var extraRequirements:String? = null } open class GuestData { var name:String? = null var emailAddress:String? = null var mobileNumber:String? = null var userCustomFields:ArrayList = ArrayList() var isAlreadyUser:Boolean? = null var systemUserId:Int? = null } open class ApiServiceRequest : IServiceRequest, IHasApiKey, IHasDeviceInfo { /** * The API Key required for authentication */ @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) var apiKey:String? = null /** * Latitude of the user making this request */ @ApiMember(DataType="double", Description="Latitude of the user making this request") var latitude:Double? = null /** * Longitude of the user making this request */ @ApiMember(DataType="double", Description="Longitude of the user making this request") var longitude:Double? = null } open interface IServiceRequest { } open interface IHasApiKey { var apiKey:String? } open interface IHasDeviceInfo { } open class UserCustomFieldData { var id:UUID? = null var value:String? = null var name:String? = null var optional:Boolean? = null } open class FacilityData { var facilityId:Int? = null var facilityGuid:String? = null var name:String? = null var description:String? = null var nextAvailable:String? = null var hasNextAvailable:Boolean? = null var rates:ArrayList = ArrayList() var themeColor:String? = null var bookingNotes:String? = null var leadTime:Int? = null var venueId:Int? = null var allowExtraRequirements:Boolean? = null } open class ScheduleDayData { var date:String? = null var slots:ArrayList = ArrayList() } enum class SlotStatus(val value:Int) { @SerializedName("0") Available(0), @SerializedName("1") Closed(1), @SerializedName("2") Booked(2), @SerializedName("3") UserBooked(3), @SerializedName("4") GroupBooked(4), @SerializedName("5") ToBook(5), } open class RatesItem { var rate:BigDecimal? = null var minutes:Int? = null } open class ApiServiceResponse : IServiceResponse { var description:String? = null var heading:String? = null var wasSuccessful:Boolean? = null var modelState:Object? = null }