"use strict";
export class ApiServiceRequest {
/** @param {{apiKey?:string,latitude?:number,longitude?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The API Key required for authentication */
apiKey;
/**
* @type {number}
* @description Latitude of the user making this request */
latitude;
/**
* @type {number}
* @description Longitude of the user making this request */
longitude;
}
export class ApiServiceResponse {
/** @param {{description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
description;
/** @type {string} */
heading;
/** @type {boolean} */
wasSuccessful;
/** @type {Object} */
modelState;
}
export class UserCustomFieldData {
/** @param {{id?:string,value?:string,name?:string,optional?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
value;
/** @type {string} */
name;
/** @type {boolean} */
optional;
}
export class GuestData {
/** @param {{name?:string,emailAddress?:string,mobileNumber?:string,userCustomFields?:UserCustomFieldData[],isAlreadyUser?:boolean,systemUserId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
/** @type {string} */
emailAddress;
/** @type {string} */
mobileNumber;
/** @type {UserCustomFieldData[]} */
userCustomFields;
/** @type {boolean} */
isAlreadyUser;
/** @type {number} */
systemUserId;
}
export class VenueReservationData {
/** @param {{dayEnd?:number,dayStart?:number,bookingId?:number,slotLength?:number,facilityId?:number,facilityTimeOffset?:number,cancellationLeadTime?:number,end?:string,start?:string,userName?:string,facilityName?:string,facilityColour?:string,reservationStatus?:string,finished?:boolean,billableHours?:number,billedAmount?:number,userData?:GuestData,allowExtraRequirements?:boolean,extraRequirements?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
dayEnd;
/** @type {number} */
dayStart;
/** @type {number} */
bookingId;
/** @type {number} */
slotLength;
/** @type {number} */
facilityId;
/** @type {number} */
facilityTimeOffset;
/** @type {number} */
cancellationLeadTime;
/** @type {string} */
end;
/** @type {string} */
start;
/** @type {string} */
userName;
/** @type {string} */
facilityName;
/** @type {string} */
facilityColour;
/** @type {string} */
reservationStatus;
/** @type {boolean} */
finished;
/** @type {number} */
billableHours;
/** @type {number} */
billedAmount;
/** @type {GuestData} */
userData;
/** @type {boolean} */
allowExtraRequirements;
/** @type {string} */
extraRequirements;
}
export class GetVenueReservationsResponse extends ApiServiceResponse {
/** @param {{reservations?:VenueReservationData[],description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {VenueReservationData[]} */
reservations;
}
export class GetVenueReservations extends ApiServiceRequest {
/** @param {{venueId?:number,apiKey?:string,latitude?:number,longitude?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
venueId;
}
JavaScript GetVenueReservations DTOs
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/GetVenueReservations HTTP/1.1
Host: reservation.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
venueId: 0,
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
reservations:
[
{
}
],
description: String,
heading: String,
wasSuccessful: False,
modelState: {}
}