PHP Samples

1. HTTP RAW POST

PHP with CURL
// Define the proper Endpoint. Check the chapters on the endpoints to get the correct one for your usage
$endpoint = 'https://staging.hotel-spider.ch/ota/OTA_HotelAvailNotifRQ/2014A'
$Request = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<OTA_HotelAvailNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailNotifRQ.xsd" TimeStamp="2012-10-05T14:20:50" Target="Test" Version="1.005">
  <POS>
    <Source>
      <RequestorID Type="5" ID="*************" MessagePassword="*************"></RequestorID>
    </Source>
  </POS>
  <AvailStatusMessages>
    <AvailStatusMessage BookingLimit="25" LocatorID="1">
      <StatusApplicationControl Start="2015-09-24" End="2015-09-24" InvTypeCode="*************"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
XML;

//open connection and set endpoint
$ch = curl_init($endpoint);

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $Request);

//execute post
$Response= curl_exec($ch);

//close connection
curl_close($ch);
PHP without CURL
// Define the proper Endpoint. Check the chapters on the endpoints to get the correct one for your usage
$endpoint = 'https://staging.hotel-spider.ch/ota/OTA_HotelAvailNotifRQ/2014A'
$Request = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<OTA_HotelAvailNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailNotifRQ.xsd" TimeStamp="2012-10-05T14:20:50" Target="Test" Version="1.005">
  <POS>
    <Source>
      <RequestorID Type="5" ID="*************" MessagePassword="*************"></RequestorID>
    </Source>
  </POS>
  <AvailStatusMessages>
    <AvailStatusMessage BookingLimit="25" LocatorID="1">
      <StatusApplicationControl Start="2015-09-24" End="2015-09-24" InvTypeCode="*************"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
XML;

$params = array('http' => array(
              'method' => 'POST',
              'content' => $Request
            ));
  
  $ctx = stream_context_create($params);
  $fp = @fopen($endpoint , 'rb', false, $ctx);
  if (!$fp) {
    throw new Exception("Problem with $endpoint , $php_errormsg");
  }
  $Response = @stream_get_contents($fp);
  if ($Response === false) {
    throw new Exception("Problem reading data from $endpoint , $php_errormsg");
  }

2. SOAP

To be extended

The below example needs to be completed.

PHP with SoapClient class
// Define the proper Endpoint. Check the chapters on the endpoints to get the correct one for your usage
$wsdl = 'https://staging.hotel-spider.ch/soap/OTA_HotelAvailNotifRQ/2014A'
$Request = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<OTA_HotelAvailNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailNotifRQ.xsd" TimeStamp="2012-10-05T14:20:50" Target="Test" Version="1.005">
  <POS>
    <Source>
      <RequestorID Type="5" ID="*************" MessagePassword="*************"></RequestorID>
    </Source>
  </POS>
  <AvailStatusMessages>
    <AvailStatusMessage BookingLimit="25" LocatorID="1">
      <StatusApplicationControl Start="2015-09-24" End="2015-09-24" InvTypeCode="*************"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
XML;

$client = new SoapClient($wsdl);

try {
	return $client->__soapCall("OTA_HotelAvailNotif", array($subscribeRequest));   
} catch (Exception $e) {
	throw new Exception('ERROR in ' . __METHOD__, $e, $client->__getLastRequestHeaders(), $client->__getLastRequest(), $client->__getLastResponseHeaders(), $client->__getLastResponse());
}