Channel XML API Documentation

Introduction

Levart uses a subset of the Open Travel Alliance (OTA) XML specifications for the Channel API. Levart currently uses the "2015B" version of the specifications for this implementation. The full OTA documentation including all schemas can be downloaded from http://www.opentravel.org/Specifications/Default.aspx

The OTA XML messages are implemented over the SOAP v1.2 protocol over a secure TLS 1.2 or higher connection.

The messages are also protected with HTTP Basic authentication (via HTTP header) that are unique per-property. The Basic authentication username should also be the same as the HotelCode element.

The username (HotelCode) and password will be supplied to you for access in the introductory email from Levart.

Levart also provides a WSDL (Web Services Definition Language) file that describes the usage of the XML web services over SOAP including all XML schemas.

A single endpoint is supported for sending of rate/inventory updates and issuing the Room/Rates request.

Messages Supported

SOAP/OTA Diagram

XML Channel

SOAP Message Structure

POST /servers/changeme.html HTTP/1.1
Host: secure.levartdistributionsystems.com.au
Content-type: application/soap+xml; charset=utf-8
Authorization: Basic aHR0cHdhdGNoOmY=
SoapAction: PingRQ

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:Security>
      <wsse:UsernameToken>
        <wsse:Username>UserHere</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PasswordHere</wsse:Password>
      </wsse:UsernameToken>
    </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    // OTA XML REQUEST HERE e.g. OTA_PingRQ message
  </soapenv:Body>
</soapenv:Envelope>
HTTP/1.1 200 OK
Date: Wed, 10 Feb 2016 03:02:55 GMT
Server: Apache
Connection: close
Content-Type: application/soap+xml

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    // OTA XML RESPONSE HERE e.g. OTA_PingRS message
  </soapenv:Body>
</soapenv:Envelope>

More reading: https://en.wikipedia.org/wiki/SOAP

Generic Error Response (OTA_ErrorRS)

You may get an OTA_ErrorRS message in return instead of the expected OTA message if an error occurs early on in the parsing or authorization process.

<OTA_ErrorRS xmlns="http://www.opentravel.org/OTA/2003/05"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="https://secure.levartdistributionsystems.com.au/html/schema/OTA/2015B/OTA_ErrorRS.xsd"
             TimeStamp="2020-06-19T22:21:23+08:00" Target="Production" Version="1.0" 
             Status="NotProcessed"
             ErrorMessage="Messages must be authenticated via HTTP Basic" />

Specification for OTA_ErrorRS

ElementNumDescription
OTA_ErrorRS1Root element
@Status1Always 'NotProcessed' on all OTA_ErrorRS messages.
@Version1Current Version 1.0
@TimeStamp1Date and time of the transaction in ISO 8601 format e.g. 2016-01-28T15:15:00+08:00
@ErrorMessage1Error message description

Levart Interface Contact

NameRick Anderson
PositionProject Manager
Emailrick@levart.com.au
Phone+61 8 9382 8001