Reservation Station API

<back to all web services

JoinVenue

Requires Authentication
The following routes are available for this service:
POST/venue/join
"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 RatesItem {
    /** @param {{rate?:number,minutes?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    rate;
    /** @type {number} */
    minutes;
}
export class FacilityData {
    /** @param {{facilityId?:number,facilityGuid?:string,name?:string,description?:string,nextAvailable?:string,hasNextAvailable?:boolean,rates?:RatesItem[],themeColor?:string,bookingNotes?:string,leadTime?:number,venueId?:number,allowExtraRequirements?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    facilityId;
    /** @type {string} */
    facilityGuid;
    /** @type {string} */
    name;
    /** @type {string} */
    description;
    /** @type {string} */
    nextAvailable;
    /** @type {boolean} */
    hasNextAvailable;
    /** @type {RatesItem[]} */
    rates;
    /** @type {string} */
    themeColor;
    /** @type {string} */
    bookingNotes;
    /** @type {number} */
    leadTime;
    /** @type {number} */
    venueId;
    /** @type {boolean} */
    allowExtraRequirements;
}
export class VenueData {
    /** @param {{venueId?:number,name?:string,registeredDate?:string,venueCode?:string,isCoordinator?:boolean,facilities?:FacilityData[],latitude?:number,longitude?:number,hasLocation?:boolean,logoUrl?:string,leadTime?:number,venueInfo?:string,allowGuests?:boolean,contactNumber?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    venueId;
    /** @type {string} */
    name;
    /** @type {string} */
    registeredDate;
    /** @type {string} */
    venueCode;
    /** @type {boolean} */
    isCoordinator;
    /** @type {FacilityData[]} */
    facilities;
    /** @type {number} */
    latitude;
    /** @type {number} */
    longitude;
    /** @type {boolean} */
    hasLocation;
    /** @type {string} */
    logoUrl;
    /** @type {number} */
    leadTime;
    /** @type {string} */
    venueInfo;
    /** @type {boolean} */
    allowGuests;
    /** @type {string} */
    contactNumber;
}
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 VenueCustomField {
    /** @param {{venueName?:string,venueId?:number,fields?:UserCustomFieldData[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    venueName;
    /** @type {number} */
    venueId;
    /** @type {UserCustomFieldData[]} */
    fields;
}
export class JoinVenueResponse extends ApiServiceResponse {
    /** @param {{venues?:VenueData[],venueCustomFields?:VenueCustomField[],description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {VenueData[]} */
    venues;
    /** @type {VenueCustomField[]} */
    venueCustomFields;
}
export class JoinVenue extends ApiServiceRequest {
    /** @param {{venueCode?:string,userCustomFields?:UserCustomFieldData[],apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    venueCode;
    /** @type {UserCustomFieldData[]} */
    userCustomFields;
}

JavaScript JoinVenue DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /venue/join HTTP/1.1 
Host: reservation.api.dev.86degrees.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"venueCode":"String","userCustomFields":[{"id":"00000000-0000-0000-0000-000000000000","value":"String","name":"String","optional":false}],"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"venues":[{}],"venueCustomFields":[{"venueName":"String","venueId":0,"fields":[{"id":"00000000-0000-0000-0000-000000000000","value":"String","name":"String","optional":false}]}],"description":"String","heading":"String","wasSuccessful":false,"modelState":{}}