/* Options: Date: 2024-11-21 11:29:45 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: NextFreeTimeQuery.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/services/{ServiceId}/nextfreetime", Verbs="GET") open class NextFreeTimeQuery : IReturn, IInterval { /** * Company to show available time for */ @ApiMember(Description="Company to show available time for", ParameterType="query") var CompanyId:UUID? = null /** * Service id */ @ApiMember(Description="Service id", IsRequired=true, ParameterType="path") var ServiceId:Int? = null /** * From what datetime to search available times */ @ApiMember(DataType="dateTime", Description="From what datetime to search available times", IsRequired=true, ParameterType="query") var From:Date? = null /** * To what datetime to show available times. Optional, if no datetime is set it will search one year */ @ApiMember(DataType="dateTime", Description="To what datetime to show available times. Optional, if no datetime is set it will search one year", IsRequired=true, ParameterType="query") var To:Date? = null /** * Here you can select one of the resource in each resource type connected to the service, if none is selected it will show available times for all */ @ApiMember(Description="Here you can select one of the resource in each resource type connected to the service, if none is selected it will show available times for all", ParameterType="query") var Resources:ArrayList = ArrayList() /** * Here you select number of resources to book (in each resource type). Default is 1. */ @ApiMember(Description="Here you select number of resources to book (in each resource type). Default is 1.", ParameterType="query") var NumberOfResources:Int? = null /** * The duration you want to book. Needs to withing the service Min and Max. If not set it will use the service duration */ @ApiMember(DataType="bool", Description="The duration you want to book. Needs to withing the service Min and Max. If not set it will use the service duration", ParameterType="query") var Duration:Int? = null /** * If you want to include the connected resource types and resources */ @ApiMember(Description="If you want to include the connected resource types and resources", ParameterType="query") var ShowPerResource:Boolean? = null companion object { private val responseType = AvailableTimesResponse::class.java } override fun getResponseType(): Any? = NextFreeTimeQuery.responseType } open class AvailableTimesResponse { var CompanyId:UUID? = null var ServiceId:Int? = null var TimesFreeTextSingle:String? = null var TimesFreeTextMultiple:String? = null var Times:ArrayList = ArrayList() } open interface IInterval { var From:Date? var To:Date? } open class AvailableTimesResourceTypeResource { /** * The resourcetype id */ @ApiMember(Description="The resourcetype id") var ResourceTypeId:Int? = null /** * The resource id */ @ApiMember(Description="The resource id") var ResourceId:Int? = null } open class AvailableTimesSum : IAvailableTime { var From:Date? = null var To:Date? = null var Free:Int? = null var FreeSpots:Int? = null var ExceptionTexts:ArrayList = ArrayList() } open class ExceptionText { var Reason:String? = null var ReasonPublic:String? = null } open interface IAvailableTime : IInterval { var Free:Int? }