Audience
This document is targeted at software developers, and details the process in utilizing the Bookeasy Content API to extract operator data (bookable and non bookable) from the API and store that operator static data inside your own database.
Environment
ATDW to Bookeasy
Bookeasy consumes the "popular fields" from the ATDW when requested from inside the Visitor Centres console. Therefore, there is no need for you to write your code to connect to both Bookeasy and the ATDW, but you can simply connect to the Bookeasy Content API to get all of the data from one source.
Bookeasy Content API
Formerly known as the SJP, this API provides READ access to static data, rates and availability and also the Shopping cart.
The API has a lot of caching technology built within, and is the only method which we allow external developers to access our system as the API attempts to protect our system from overuse.
Get an API Key for WebAPI
To obtain a WebAPI Key you will need to contact Our Support Team and we will generate your API Keys for you.
Once you have your WebAPI key, send it in each and every GET request you make to our WebAPI as a Request header with the key apiKey.
eg, this is a valid request format:
curl -X GET --header 'Accept: application/json' --header 'apiKey: 7edd898e69a14170b469fbf1eea98d41' 'https://webapi.bookeasy.com.au/api/getAccomAttributes?q=4'
For an example of how to do this in PHP, see our Sample Web API class or use this code:
$header = array('apiKey: '.$webapiKey);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
Note: Each API key is different for each Environment, eg, the Pre version testing environment (PVT) will have a different key to the Live or Production environment.
Tourism Centre Configuration
Method |
getVcOperatorIds
|
Documentation |
http://webapi.bookeasy.com.au/swagger/ui/index#!/Visitor32Centre/VcOperatorIds_Get
|
Use this method to fetch all of the operator IDs from the visitor centre that you are coding for.
You will need these later in order to fetch the operator details.
It may also be suitable for you to store these operator IDs against your operator database record, so that you can use it to refresh data at a later stage, if required.
In addition, store the last date and time that the operator was refreshed from Bookeasy. Then use the getOperatorModDates to determine if your data needs to be refreshed from Bookeasy or not. |
Method |
getVcOperatorCategories
|
Documentation |
http://webapi.bookeasy.com.au/swagger/ui/index#!/Visitor32Centre/VcOperatorCategories_Get
|
When you import the operator, it will have categories attached to it. These categories detail what type of operator it is. Eg, Accommodation, Bakery, Arts and Culture, Tour, Conference etc...
Each visitor centre has different categories, so using this method is important to see what's possible.
Note: this message returns all possible categories. The visitor centre may not have any operators under that category, so it might make sense for your software if you are filtering on these categories in searches, to only show the categories which contain at least 1 active operator.
|
Method |
|
Documentation |
http://webapi.bookeasy.com.au/swagger/ui/index#!/Visitor32Centre/VcLocationsHierarchy_Gethttp://webapi.bookeasy.com.au/swagger/ui/index#!/Visitor32Centre/VcLocationsHierarchy_Get
|
Bookeasy has the ability for the visitor centre to create their own location hierarchy, eg, Queensland, Gold Coast, Southport etc.
Some companies will want to use the data that comes from inside Bookeasy, whilst others like to create their own locations which suit the layout and user experience that they want for their website.
If you can, use the Bookeasy data so that from the visitor centre administration perspective you only have to worry about updating one place.
This data can also be useful to determine "Similar Properties", ie - properties that are located in a similar location.
Ultimately, it's up to you what you use.
|
Operator Details Operations
Method |
getOperatorsInformation
|
Documentation |
http://webapi.bookeasy.com.au/swagger/ui/index#!/Operators/OperatorsInformation_Gethttp://webapi.bookeasy.com.au/swagger/ui/index#!/Operators/OperatorsInformation_Get
|
Once you have the operator IDs, you can then fetch the detailed operator data using this call.
You can specify a comma separated list of operator IDs.
We would recommend that you do the fetches in batches of no more than 10 in each call.
Take a look at the response inside the API documentation as it contains the definitions for each field that is returned.
|
Method |
|
Documentation |
http://webapi.bookeasy.com.au/swagger/ui/index#!/Operators/OperatorModDates_Gethttp://webapi.bookeasy.com.au/swagger/ui/index#!/Operators/OperatorModDates_Get
|
When refreshing your system, you should store the last refresh date in which you successfully updated your data with Bookeasy's operator data. This date that you store should be stored on each operator in your database, so that you only refresh the individual operators that have changed.
Using this method, you can call it many times per hour, and therefore your copy of the operator data will be refreshed quite quickly after it changes. Perhaps call this method every 5 minutes for example, which will mean your cached copy will only be, at most, 5 minutes old.
|