/* Options: Date: 2025-09-14 18:31:24 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: AvailableTimesGroupedQuery.* //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="/services/{ServiceId}/availabletimes/grouped", Verbs="GET") open class AvailableTimesGroupedQuery : IReturn, IInterval { /** * Company to show services for */ @ApiMember(Description="Company to show services for", ParameterType="query") open var CompanyId:UUID? = null /** * Service id */ @ApiMember(Description="Service id", IsRequired=true, ParameterType="path") open var ServiceId:Int? = null /** * From what datetime to show available times */ @ApiMember(DataType="dateTime", Description="From what datetime to show available times", IsRequired=true, ParameterType="query") override var From:Date? = null /** * To what datetime to show available times */ @ApiMember(DataType="dateTime", Description="To what datetime to show available times", IsRequired=true, ParameterType="query") override var To:Date? = null /** * Here you can select one of the resource in each resourcetype 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 resourcetype connected to the service, if none is selected it will show available times for all", ParameterType="query") open var Resources:ArrayList? = null /** * Here you select number of resources to book (in each resourcetype). Default is 1. */ @ApiMember(Description="Here you select number of resources to book (in each resourcetype). Default is 1.", ParameterType="query") open var NumberOfResources:Int? = null /** * If you want to include the connected resourcetypes and resources */ @ApiMember(Description="If you want to include the connected resourcetypes and resources", ParameterType="query") open var ShowPerResource:Boolean? = null /** * Both start and time time should be inside test interval. Default is false which means only start time needs to be inside. */ @ApiMember(DataType="bool", Description="Both start and time time should be inside test interval. Default is false which means only start time needs to be inside.", ParameterType="query") open var InsideSearchInterval:Boolean? = 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") open var Duration:Int? = null open var ResponseStatus:ResponseStatus? = null companion object { private val responseType = AvailableTimesGroupedDatesResponse::class.java } override fun getResponseType(): Any? = AvailableTimesGroupedQuery.responseType } open class AvailableTimesGroupedDatesResponse { open var CompanyId:UUID? = null open var ServiceId:Int? = null open var TimesFreeTextSingle:String? = null open var TimesFreeTextMultiple:String? = null open var Items:ArrayList? = null } interface IInterval { var From:Date? var To:Date? } open class AvailableTimesResourceTypeResource { /** * The resourcetype id */ @ApiMember(Description="The resourcetype id") open var ResourceTypeId:Int? = null /** * The resource id */ @ApiMember(Description="The resource id") open var ResourceId:Int? = null } open class AvailableTimesSum : IAvailableTime { open var From:Date? = null open var To:Date? = null override var Free:Int? = null open var FreeSpots:Int? = null open var ExceptionTexts:ArrayList? = null } open class AvailableTimesGroupedDates { open var Group:Date? = null open var Times:ArrayList? = null } open class ExceptionText { open var Reason:String? = null open var ReasonPublic:String? = null } interface IAvailableTime : IInterval { var Free:Int? }