Getting Started
Connecting to the API is nice and straightforward.
To connect to the API you will need to pass your agent id and agent API key with any calls you make to the API.
To post to the API you will need to post via HTTP url CURL or a similar method.
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Search/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
Accommodation
Accommodation Search
REQUEST VARIABLES
View Request variables View Response Data Variables
PHP/JSON REQUEST EXAMPLE
$data = array(
'fromDate'=>'2023-12-12',
'toDate'=>'2023-12-19',
'search'=>'Apartment',
'resortId'=>'1',
'rooms'=>array(
array(
'adults'=>1,
'children'=>2,
'childrenAges'=>array(
10,
12
)
)
)
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Accommodation/Search/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
JSON REQUEST EXAMPLE REQUEST
{"fromDate":"2023-12-15","toDate":"2023-12-22","search":"Apartment","bypassRoomMaxOccupancy":"0","resortId":"1","rooms":[{"adults":1,"children":2,"childrenAges":[10,12]}]}
ACCOMMODATION SEARCH RESPONSE
View response as a JSON array | View response as a PHP arrayAccommodation Details
REQUEST VARIABLES
PHP/JSON REQUEST EXAMPLE
$data = array(
'Id'=>'3'
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Accommodation/Details//index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
JSON REQUEST EXAMPLE
{"Id":3}
ACCOMMODATION DETAILS RESPONSE
View response as a JSON array | View response as a PHP arrayGet Rooms
We do not recommend that the getRooms endpoint is called for each hotel on a search page, this places unnecessary stress on the api as the number of calculations required to process the data because quite large. It is recommended that the getRooms endpoint is called one on a detailed accommodation page (a link the visitor goes to from the search results page). The most common set up is Page 1 = Accommodation/Search, Page 2 = Accommodation/Details + Accommodation/GetRooms (for the specific accommodation
)REQUEST VARIABLES
PHP/JSON REQUEST EXAMPLE
$data = array(
'Id'=>'3',
'fromDate'=>'2023-12-16',
'toDate'=>'2023-12-23',
'rooms'=>array(
array(
'adults'=>1,
'children'=>1,
'childrenAges'=>array(
10,
12
)
)
)
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Accommodation/GetRooms/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
JSON REQUEST EXAMPLE
{"Id":"3","fromDate":"2023-12-12","toDate":"2023-12-19","rooms":[{"adults":1,"children":1,"childrenAges":[10,12]}]}
ACCOMMODATION ROOMS RESPONSE
View response as a JSON array | View response as a PHP arrayGet Board Basis
This endpoint shows the available board basis's available for pricing. Please make sure when adding items to your basket and passing through to checkout you pass these codes as shown in the sample responses.
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Accommodation/GetBoardBasis/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
ACCOMMODATION BOARD BASIS RESPONSE
View response as a JSON array | View response as a PHP arraySki Extras
You can get the available extra simply by calling the /Extras/Read endpoint
Additionally, you can pass filters in JSON format to returned a filtered result set.
Get All Extras
REQUEST VARIABLES
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Search/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Filtered Extras
JSON REQUEST EXAMPLE
{"days":6,"skiArea":"2","excludeCategories":"2","excludeGroups":"upgrades,combo,school,general","categoryOrder":"37,36,27"}
PHP/JSON REQUEST EXAMPLE
$data=array(
"days"=>"6",
"skiArea"=>"2",
"excludeGroups"=>"upgrades,combo,school,general",
"categoryOrder"=>"37,36,27"
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Search/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Extras By Id
JSON REQUEST EXAMPLE
{"id":"16,17"}
PHP/JSON REQUEST EXAMPLE
$data=array(
"id"=>"16,17"
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Unique/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Extras Filters
JSON REQUEST EXAMPLE
{"skiArea":"1"}
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Filters/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Extras Categories
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Categories/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Country
N.B. This endpoint isn't currently needed. All Ski Areas and Resorts are located in Andorra.
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Country/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Ski Areas
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Areas/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Ski Resorts
PHP/JSON REQUEST EXAMPLE
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Resorts/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Get Filtered Ski Resorts
PHP/JSON REQUEST EXAMPLE
$data=array(
"skiArea"=>"1"
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Extras/Resorts/Filtered/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
View response as a JSON array | View response as a PHP array
Transfers
Shared Transfers
For shared transfers, you will need to first call the Transfers/Shared/Times endpoint and then Transfers/Shared/Prices Endpoint.
The Transfers/Shared/Times endpoint will provide you with a selection of times for the different legs of your trip.
The Transfers/Shared/Prices endpoint will provide you with the price for a shared transfer
For private transfers, you will need to call the Transfers/Private/Prices endpoint in order to get prices for a private transfer
Get Shared Transfer Times
REQUEST VARIABLES
View Request variables | View response variables
JSON REQUEST EXAMPLE
{"fromDate":"2018-12-10","toDate":"2018-12-13","fromLocationId":"43","toLocationId":"23","fromLocationType":"airports","toLocationType":"towns","tripType":"return"}
PHP/JSON REQUEST EXAMPLE
$data=array(
"fromDate"=>"2018-12-10",
"toDate"=>"2018-12-13",
"fromLocationId"=>"43",
"toLocationId"=>"23",
"fromLocationType"=>"airports",
"toLocationType"=>"towns",
"tripType"=>"return",
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Transfers/Shared/Times/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
SHARED TRANSFER TIMES RESPONSE
View response as a JSON array | View response as a PHP arrayGet Shared Transfer Prices
REQUEST VARIABLES
View Request variables | View response variables
JSON REQUEST EXAMPLE
{"fromDate":"2018-12-16","toDate":"2018-12-23","fromLocationId":43,"toLocationId":23,"fromLocationType":"airports","toLocationType":"towns","tripType":"return","adults":4,"children":3,"ages":"1,2,5,20,30,44,67","fromTime":"10:00","toTime":"16:15"}
PHP/JSON REQUEST EXAMPLE
$data=array(
"fromDate"=>"2018-12-16",
"toDate"=>"2018-12-23",
"fromLocationId"=>43,
"toLocationId"=>23,
"fromLocationType"=>"airports",
"toLocationType"=>"towns",
"tripType"=>"return",
"adults"=>4,
"children"=>3,
"ages"=>"1,2,5,20,30,44,67",
"fromTime"=>"10:00",
"toTime"=>"16:15",
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Transfers/Shared/Prices/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
SHARED TRANSFER PRICES RESPONSE
View response as a JSON array | View response as a PHP arrayGet Private Transfer Prices
REQUEST VARIABLES
View Request variables | View response variables
JSON REQUEST EXAMPLE
{"fromDate":"2018-10-20","toDate":"2018-11-27","fromLocationId":"43","toLocationId":"23","fromLocationType":"airports","toLocationType":"towns","tripType":"return","totalPassengers":4}
PHP/JSON REQUEST EXAMPLE
$data=array(
"fromDate"=>"2018-10-20",
"toDate"=>"2018-11-27",
"fromLocationId"=>43,
"toLocationId"=>23,
"fromLocationType"=>"airports",
"toLocationType"=>"towns",
"tripType"=>"return",
"totalPassengers"=>4,
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Transfers/Private/Prices/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
PRIVATE TRANSFER PRICES RESPONSE
View response as a JSON array | View response as a PHP arrayGet Transfer Locations
TIP - You'll use the data from this response to build front end dropdowns to allow the customer to choose their from location and to location. You'll also need to pass these Id's to the "Get Shared Transfer Prices" and "Get Shared Transfer Prices endpoints".
REQUEST VARIABLES
View Request variables View Response Variables
JSON REQUEST EXAMPLE
{"locationType":"airports"}
PHP/JSON REQUEST EXAMPLE
$data=array(
"locationType"=>"airports" //towns, hotels
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Transfers/Locations/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
TRANSFER LOCATIONS RESPONSE
View response as a JSON array | View response as a PHP arrayBooking
PHP/JSON REQUEST EXAMPLE
$data = array(
'currency'=>'EUR',
'ip_address'=>'1.2.3.4',
'amount'=>'3400.00',
'leadPassenger'=>array(
'title'=>'Mr',
'firstName'=>'Joe',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2001-11-12',
'gender'=>'M',
'addresLine1'=>'123 The Street',
'addresLine2'=>'Another Road',
'addresLine3'=>'',
'town'=>'Towner',
'county'=>'Homeshire',
'postCode'=>'SG14 2DN',
'country'=>'United Kingdom',
'nationality'=>'British',
),
'accommodations'=>array(
'rooms'=>array(
array(
'accommodationId'=>3,
'accommodationName'=>'Apartment Sant Andreu',
'roomId'=>9,
'roomName'=>'Double/Twin',
'board'=>'SC',
'accommodationPrice'=>'139.99',
'fromDate'=>'2023-12-16',
'toDate'=>'2023-12-23',
'passengers'=>array(
array(
'firstName'=>'Joe',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2001-11-12',
'gender'=>'M',
),
array(
'firstName'=>'Jill',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2009-09-12',
'gender'=>'F',
),
)
)
)
),
'skiextras'=>array(
'skiextra'=>array(
array(
'id'=>3,
'skiextraPrice'=>'240.00',
'firstDayOnMountain'=>'2023-12-16',
'days'=>'6',
'seniors'=>'0',
'adults'=>'2',
'youth'=>'0',
'children'=>'0',
'infants'=>'0',
'ski_option'=>'Standard/Eco',
'passengers'=>array(
array(
'firstName'=>'Jill',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2009-09-12',
'gender'=>'F',
),
)
),
array(
'id'=>3,
'skiextraPrice'=>'120.00',
'firstDayOnMountain'=>'2023-12-16',
'days'=>'6',
'seniors'=>'0',
'adults'=>'2',
'youth'=>'0',
'children'=>'0',
'infants'=>'0',
'ski_option'=>'Standard/Eco',
'passengers'=>array(
array(
'firstName'=>'Jill',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2009-09-12',
'gender'=>'F',
),
)
)
)
),
'transfers'=>array(
'transfer'=>array(
array(
'id'=>3,
'transferPrice'=>'230.00',
'type'=>'shared',
'trip'=>'return',
'fromDate'=>'2023-12-16',
'toDate'=>'2023-12-23',
'fromTime'=>'10:00',
'toTime'=>'14:00',
'fromTimeTo'=>'14:00',
'toTimeTo'=>'18:00',
'fromLocationId'=>'42',
'toLocationId'=>'23',
'fromLocationType'=>'airports',
'toLocationType'=>'hotels',
'bookingRef'=>'123456',
'adults'=>'2',
'children'=>'2',
'children_ages'=>array('2','10'),
'passengers'=>array(
array(
'firstName'=>'Joe',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2001-11-12',
'gender'=>'M',
),
array(
'firstName'=>'Jill',
'lastName'=>'Bloggs',
'dateOfBirth'=>'2009-09-12',
'gender'=>'F',
),
)
)
)
)
);
$json = json_encode($data);
define("AGENT_ID","1");
define("AGENT_KEY","1234556");
$auth =AGENT_ID.AGENT_KEY;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://edge.andorratravelservice.com/Order/Book/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/json"));
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Auth: $auth"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
$array = json_decode($result,true);
JSON REQUEST EXAMPLE
{"currency":"EUR","ip_address":"1.2.3.4","amount":"3400.00","leadPassenger":{"title":"Mr","firstName":"Joe","lastName":"Bloggs","dateOfBirth":"2001-11-12","gender":"M","addresLine1":"123 The Street","addresLine2":"Another Road","addresLine3":"","town":"Towner","county":"Homeshire","postCode":"SG14 2DN","country":"United Kingdom","nationality":"British"},"accommodations":{"rooms":[{"accommodationId":3,"accommodationName":"Apartment Sant Andreu","roomId":9,"roomName":"Double\/Twin","board":"SC","adults":"2","children":"1","infants":"1","accommodationPrice":"139.99","fromDate":"2023-12-16","toDate":"2023-12-23","passengers":[{"firstName":"Joe","lastName":"Bloggs","dateOfBirth":"2001-11-12","gender":"M"},{"firstName":"Jill","lastName":"Bloggs","dateOfBirth":"2009-09-12","gender":"F"}]}]},"skiextras":{"skiextra":[{"id":3,"skiextraPrice":"240.00","firstDayOnMountain":"2023-12-16","days":"6","seniors":"0","adults":"2","youth":"0","children":"0","infants":"0","ski_option":"Standard\/Eco","passengers":[{"firstName":"Jill","lastName":"Bloggs","dateOfBirth":"2009-09-12","gender":"F"}]},{"id":3,"skiextraPrice":"120.00","firstDayOnMountain":"2023-12-16","days":"6","seniors":"0","adults":"2","youth":"0","children":"0","infants":"0","ski_option":"Standard\/Eco","passengers":[{"firstName":"Jill","lastName":"Bloggs","dateOfBirth":"2009-09-12","gender":"F"}]}]},"transfers":{"transfer":[{"id":3,"transferPrice":"230.00","type":"shared","trip":"return","fromDate":"2023-12-16","toDate":"2023-12-23","fromTime":"10:00","toTime":"14:00","fromTimeTo":"14:00","toTimeTo":"18:00","fromLocationId":"42","toLocationId":"23","fromLocationType":"airports","toLocationType":"hotels","bookingRef":"123456","adults":"2","children":"2","children_ages":["2","10"],"passengers":[{"firstName":"Joe","lastName":"Bloggs","dateOfBirth":"2001-11-12","gender":"M"},{"firstName":"Jill","lastName":"Bloggs","dateOfBirth":"2009-09-12","gender":"F"}]}]}}