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

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 array

Accommodation Details

REQUEST VARIABLES

View 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 array

Get 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

View 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 array

Get 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 array

Ski 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

View response 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

View Request variables

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

View Request variables

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

View response 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/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 array

Get 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 array

Get 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 array

Get 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 array

Booking

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"}]}]}}