/* Options: Date: 2024-12-03 18:21:23 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: NextFreeTimeQuery.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; public class dtos { @Route(Path="/services/{ServiceId}/nextfreetime", Verbs="GET") public static class NextFreeTimeQuery implements IReturn, IInterval { /** * Company to show available time for */ @ApiMember(Description="Company to show available time for", ParameterType="query") public UUID CompanyId = null; /** * Service id */ @ApiMember(Description="Service id", IsRequired=true, ParameterType="path") public Integer ServiceId = null; /** * From what datetime to search available times */ @ApiMember(DataType="dateTime", Description="From what datetime to search available times", IsRequired=true, ParameterType="query") public Date From = 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") public Date To = 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") public ArrayList Resources = null; /** * 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") public Integer NumberOfResources = 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") public Integer Duration = 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") public Boolean ShowPerResource = null; public UUID getCompanyId() { return CompanyId; } public NextFreeTimeQuery setCompanyId(UUID value) { this.CompanyId = value; return this; } public Integer getServiceId() { return ServiceId; } public NextFreeTimeQuery setServiceId(Integer value) { this.ServiceId = value; return this; } public Date getFrom() { return From; } public NextFreeTimeQuery setFrom(Date value) { this.From = value; return this; } public Date getTo() { return To; } public NextFreeTimeQuery setTo(Date value) { this.To = value; return this; } public ArrayList getResources() { return Resources; } public NextFreeTimeQuery setResources(ArrayList value) { this.Resources = value; return this; } public Integer getNumberOfResources() { return NumberOfResources; } public NextFreeTimeQuery setNumberOfResources(Integer value) { this.NumberOfResources = value; return this; } public Integer getDuration() { return Duration; } public NextFreeTimeQuery setDuration(Integer value) { this.Duration = value; return this; } public Boolean isShowPerResource() { return ShowPerResource; } public NextFreeTimeQuery setShowPerResource(Boolean value) { this.ShowPerResource = value; return this; } private static Object responseType = AvailableTimesResponse.class; public Object getResponseType() { return responseType; } } public static class AvailableTimesResponse { public UUID CompanyId = null; public Integer ServiceId = null; public String TimesFreeTextSingle = null; public String TimesFreeTextMultiple = null; public ArrayList Times = null; public UUID getCompanyId() { return CompanyId; } public AvailableTimesResponse setCompanyId(UUID value) { this.CompanyId = value; return this; } public Integer getServiceId() { return ServiceId; } public AvailableTimesResponse setServiceId(Integer value) { this.ServiceId = value; return this; } public String getTimesFreeTextSingle() { return TimesFreeTextSingle; } public AvailableTimesResponse setTimesFreeTextSingle(String value) { this.TimesFreeTextSingle = value; return this; } public String getTimesFreeTextMultiple() { return TimesFreeTextMultiple; } public AvailableTimesResponse setTimesFreeTextMultiple(String value) { this.TimesFreeTextMultiple = value; return this; } public ArrayList getTimes() { return Times; } public AvailableTimesResponse setTimes(ArrayList value) { this.Times = value; return this; } } public static interface IInterval { public Date From = null; public Date To = null; } public static class AvailableTimesResourceTypeResource { /** * The resourcetype id */ @ApiMember(Description="The resourcetype id") public Integer ResourceTypeId = null; /** * The resource id */ @ApiMember(Description="The resource id") public Integer ResourceId = null; public Integer getResourceTypeId() { return ResourceTypeId; } public AvailableTimesResourceTypeResource setResourceTypeId(Integer value) { this.ResourceTypeId = value; return this; } public Integer getResourceId() { return ResourceId; } public AvailableTimesResourceTypeResource setResourceId(Integer value) { this.ResourceId = value; return this; } } public static class AvailableTimesSum implements IAvailableTime { public Date From = null; public Date To = null; public Integer Free = null; public Integer FreeSpots = null; public ArrayList ExceptionTexts = null; public Date getFrom() { return From; } public AvailableTimesSum setFrom(Date value) { this.From = value; return this; } public Date getTo() { return To; } public AvailableTimesSum setTo(Date value) { this.To = value; return this; } public Integer getFree() { return Free; } public AvailableTimesSum setFree(Integer value) { this.Free = value; return this; } public Integer getFreeSpots() { return FreeSpots; } public AvailableTimesSum setFreeSpots(Integer value) { this.FreeSpots = value; return this; } public ArrayList getExceptionTexts() { return ExceptionTexts; } public AvailableTimesSum setExceptionTexts(ArrayList value) { this.ExceptionTexts = value; return this; } } public static class ExceptionText { public String Reason = null; public String ReasonPublic = null; public String getReason() { return Reason; } public ExceptionText setReason(String value) { this.Reason = value; return this; } public String getReasonPublic() { return ReasonPublic; } public ExceptionText setReasonPublic(String value) { this.ReasonPublic = value; return this; } } public static interface IAvailableTime implements IInterval { public Integer Free = null; } }