import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
public static class MakeBooking extends ApiServiceRequest
{
public Integer facilityId = null;
public Integer bookingUserId = null;
public ArrayList<SlotData> requestedSlots = null;
public Boolean remindStart = null;
public Boolean remind30Mins = null;
public Boolean remind1Hour = null;
public Boolean remind6Hours = null;
public Boolean remind12Hours = null;
public Boolean remind1Day = null;
public Boolean remind1Week = null;
public GuestData guestData = null;
public Integer utcOffset = null;
public String extraRequirements = null;
public Integer getFacilityId() { return facilityId; }
public MakeBooking setFacilityId(Integer value) { this.facilityId = value; return this; }
public Integer getBookingUserId() { return bookingUserId; }
public MakeBooking setBookingUserId(Integer value) { this.bookingUserId = value; return this; }
public ArrayList<SlotData> getRequestedSlots() { return requestedSlots; }
public MakeBooking setRequestedSlots(ArrayList<SlotData> value) { this.requestedSlots = value; return this; }
public Boolean isRemindStart() { return remindStart; }
public MakeBooking setRemindStart(Boolean value) { this.remindStart = value; return this; }
public Boolean isRemind30Mins() { return remind30Mins; }
public MakeBooking setRemind30Mins(Boolean value) { this.remind30Mins = value; return this; }
public Boolean isRemind1Hour() { return remind1Hour; }
public MakeBooking setRemind1Hour(Boolean value) { this.remind1Hour = value; return this; }
public Boolean isRemind6Hours() { return remind6Hours; }
public MakeBooking setRemind6Hours(Boolean value) { this.remind6Hours = value; return this; }
public Boolean isRemind12Hours() { return remind12Hours; }
public MakeBooking setRemind12Hours(Boolean value) { this.remind12Hours = value; return this; }
public Boolean isRemind1Day() { return remind1Day; }
public MakeBooking setRemind1Day(Boolean value) { this.remind1Day = value; return this; }
public Boolean isRemind1Week() { return remind1Week; }
public MakeBooking setRemind1Week(Boolean value) { this.remind1Week = value; return this; }
public GuestData getGuestData() { return guestData; }
public MakeBooking setGuestData(GuestData value) { this.guestData = value; return this; }
public Integer getUtcOffset() { return utcOffset; }
public MakeBooking setUtcOffset(Integer value) { this.utcOffset = value; return this; }
public String getExtraRequirements() { return extraRequirements; }
public MakeBooking setExtraRequirements(String value) { this.extraRequirements = value; return this; }
}
public static class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo
{
/**
* The API Key required for authentication
*/
@ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
public String apiKey = null;
/**
* Latitude of the user making this request
*/
@ApiMember(DataType="double", Description="Latitude of the user making this request")
public Double latitude = null;
/**
* Longitude of the user making this request
*/
@ApiMember(DataType="double", Description="Longitude of the user making this request")
public Double longitude = null;
public String getApiKey() { return apiKey; }
public ApiServiceRequest setApiKey(String value) { this.apiKey = value; return this; }
public Double getLatitude() { return latitude; }
public ApiServiceRequest setLatitude(Double value) { this.latitude = value; return this; }
public Double getLongitude() { return longitude; }
public ApiServiceRequest setLongitude(Double value) { this.longitude = value; return this; }
}
public static class SlotData
{
public String start = null;
public String end = null;
public SlotStatus status = null;
public Integer bookingId = null;
public Boolean remindStart = null;
public Boolean remind30Mins = null;
public Boolean remind1Hour = null;
public Boolean remind6Hours = null;
public Boolean remind12Hours = null;
public Boolean remind1Day = null;
public Boolean remind1Week = null;
public BigDecimal billableAmount = null;
public String bookedByName = null;
public Double billableHours = null;
public Double slotLength = null;
public GuestData userData = null;
public String extraRequirements = null;
public String getStart() { return start; }
public SlotData setStart(String value) { this.start = value; return this; }
public String getEnd() { return end; }
public SlotData setEnd(String value) { this.end = value; return this; }
public SlotStatus getStatus() { return status; }
public SlotData setStatus(SlotStatus value) { this.status = value; return this; }
public Integer getBookingId() { return bookingId; }
public SlotData setBookingId(Integer value) { this.bookingId = value; return this; }
public Boolean isRemindStart() { return remindStart; }
public SlotData setRemindStart(Boolean value) { this.remindStart = value; return this; }
public Boolean isRemind30Mins() { return remind30Mins; }
public SlotData setRemind30Mins(Boolean value) { this.remind30Mins = value; return this; }
public Boolean isRemind1Hour() { return remind1Hour; }
public SlotData setRemind1Hour(Boolean value) { this.remind1Hour = value; return this; }
public Boolean isRemind6Hours() { return remind6Hours; }
public SlotData setRemind6Hours(Boolean value) { this.remind6Hours = value; return this; }
public Boolean isRemind12Hours() { return remind12Hours; }
public SlotData setRemind12Hours(Boolean value) { this.remind12Hours = value; return this; }
public Boolean isRemind1Day() { return remind1Day; }
public SlotData setRemind1Day(Boolean value) { this.remind1Day = value; return this; }
public Boolean isRemind1Week() { return remind1Week; }
public SlotData setRemind1Week(Boolean value) { this.remind1Week = value; return this; }
public BigDecimal getBillableAmount() { return billableAmount; }
public SlotData setBillableAmount(BigDecimal value) { this.billableAmount = value; return this; }
public String getBookedByName() { return bookedByName; }
public SlotData setBookedByName(String value) { this.bookedByName = value; return this; }
public Double getBillableHours() { return billableHours; }
public SlotData setBillableHours(Double value) { this.billableHours = value; return this; }
public Double getSlotLength() { return slotLength; }
public SlotData setSlotLength(Double value) { this.slotLength = value; return this; }
public GuestData getUserData() { return userData; }
public SlotData setUserData(GuestData value) { this.userData = value; return this; }
public String getExtraRequirements() { return extraRequirements; }
public SlotData setExtraRequirements(String value) { this.extraRequirements = value; return this; }
}
public static enum SlotStatus
{
@SerializedName("0") Available(0),
@SerializedName("1") Closed(1),
@SerializedName("2") Booked(2),
@SerializedName("3") UserBooked(3),
@SerializedName("4") GroupBooked(4),
@SerializedName("5") ToBook(5);
private final int value;
SlotStatus(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static class GuestData
{
public String name = null;
public String emailAddress = null;
public String mobileNumber = null;
public ArrayList<UserCustomFieldData> userCustomFields = null;
public Boolean isAlreadyUser = null;
public Integer systemUserId = null;
public String getName() { return name; }
public GuestData setName(String value) { this.name = value; return this; }
public String getEmailAddress() { return emailAddress; }
public GuestData setEmailAddress(String value) { this.emailAddress = value; return this; }
public String getMobileNumber() { return mobileNumber; }
public GuestData setMobileNumber(String value) { this.mobileNumber = value; return this; }
public ArrayList<UserCustomFieldData> getUserCustomFields() { return userCustomFields; }
public GuestData setUserCustomFields(ArrayList<UserCustomFieldData> value) { this.userCustomFields = value; return this; }
public Boolean getIsAlreadyUser() { return isAlreadyUser; }
public GuestData setIsAlreadyUser(Boolean value) { this.isAlreadyUser = value; return this; }
public Integer getSystemUserId() { return systemUserId; }
public GuestData setSystemUserId(Integer value) { this.systemUserId = value; return this; }
}
public static class UserCustomFieldData
{
public UUID id = null;
public String value = null;
public String name = null;
public Boolean optional = null;
public UUID getId() { return id; }
public UserCustomFieldData setId(UUID value) { this.id = value; return this; }
public String getValue() { return value; }
public UserCustomFieldData setValue(String value) { this.value = value; return this; }
public String getName() { return name; }
public UserCustomFieldData setName(String value) { this.name = value; return this; }
public Boolean isOptional() { return optional; }
public UserCustomFieldData setOptional(Boolean value) { this.optional = value; return this; }
}
public static class MakeBookingResponse extends ApiServiceResponse
{
public Boolean reloadSchedule = null;
public Boolean isReloadSchedule() { return reloadSchedule; }
public MakeBookingResponse setReloadSchedule(Boolean value) { this.reloadSchedule = value; return this; }
}
public static class ApiServiceResponse implements IServiceResponse
{
public String description = null;
public String heading = null;
public Boolean wasSuccessful = null;
public Object modelState = null;
public String getDescription() { return description; }
public ApiServiceResponse setDescription(String value) { this.description = value; return this; }
public String getHeading() { return heading; }
public ApiServiceResponse setHeading(String value) { this.heading = value; return this; }
public Boolean isWasSuccessful() { return wasSuccessful; }
public ApiServiceResponse setWasSuccessful(Boolean value) { this.wasSuccessful = value; return this; }
public Object getModelState() { return modelState; }
public ApiServiceResponse setModelState(Object value) { this.modelState = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/MakeBooking HTTP/1.1
Host: reservation.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
facilityId: 0,
bookingUserId: 0,
requestedSlots:
[
{
start: String,
end: String,
status: 0,
bookingId: 0,
remindStart: False,
remind30Mins: False,
remind1Hour: False,
remind6Hours: False,
remind12Hours: False,
remind1Day: False,
remind1Week: False,
billableAmount: 0,
bookedByName: String,
billableHours: 0,
slotLength: 0,
extraRequirements: String
}
],
remindStart: False,
remind30Mins: False,
remind1Hour: False,
remind6Hours: False,
remind12Hours: False,
remind1Day: False,
remind1Week: False,
utcOffset: 0,
extraRequirements: String,
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
reloadSchedule: False,
description: String,
heading: String,
wasSuccessful: False,
modelState: {}
}