Batch processing
DHISCO allows the XML update messages to be sent as single transactions, or the messages can be collected and sent as a batch. Customers who wish to utilize a batch method of accessing the HCD XML Update Interface will FTP files to DHISCO for processing. DHISCO will process the batch file by separating the messages into individual transactions, validating its structure and content, and applying the update.
Each property record in a batch file is autonomous, meaning that if one record in the batch is invalid, processing will still be attempted on the remaining records in the batch.
Each batch can contain a variety of data combinations. The batch can be as structured as:
Only “Add” messages for a brand, or
Only “Deletes” for a chain, or
“Adds and Updates” for all brands, or
A complete refresh of properties for the chain
This is left up to the supplier to determine the data combinations.
Batch file format
An inbound batch file consists of one or more OTA XML messages, wrapped with a SOAP envelope and then the entire file is wrapped with a batch header and trailer tag. The SOAP header contains the action for the entire grouping of XML messages. Each OTA XML message contains a specific language code that identifies the language of the data within the message. Therefore, each action per language must be sent in a separate SOAP / XML message. The following example shows the separation of action, language, multiple properties per SOAP, and the use of the Header and Trailer within a single batch.
Inbound Batch File Example
<Batch>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://webservices.pegs.com/HCD/update_interface/HotelDescripti veContentWS/HotelDescriptiveContentWS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<ns2:MessageHeader xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" ns1:mustUnderstand="false" xmlns:ns2="http://www.oasis- open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" ns2:version="2.0">
<ns2:From>
<ns2:PartyId ns2:type="partyIdType">Chain Name</ns2:PartyId> </ns2:From>
<ns2:To>
<ns2:PartyId ns2:type="partyIdType">DHISCO</ns2:PartyId>
</ns2:To>
<ns2:CPAId>HCDUpdateInterface</ns2:CPAId>
<ns2:ConversationId>ConvoID</ns2:ConversationId>
<ns2:Service ns2:type="1.0">HCDUpdateInterface</ns2:Service>
<ns2:Action>ADD</ns2:Action>
<ns2:MessageData>
<ns2:MessageId>ID12345</ns2:MessageId>
<ns2:Timestamp>2006-09-05T08:57:04.576-07:00</ns2:Timestamp>
</ns2:MessageData>
</ns2:MessageHeader>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>username@pegs.com</Username>
<Password>password</Password>
</UsernameToken>
</Security>
</env:Header>
<env:Body>
<ns2:OTA_HotelDescriptiveContentNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.000" PrimaryLangID="en">
<HotelDescriptiveContents>
<HotelDescriptiveContent Property A
</HotelDescriptiveContent>
<HotelDescriptiveContent>
Property B
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</ns2:OTA_HotelDescriptiveContentNotifRQ>
</env:Body>
</env:Envelope>
<env:Header>
<ns2:MessageHeader xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" ns1:mustUnderstand="false" xmlns:ns2="http://www.oasis- open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" ns2:version="2.0">
<ns2:From>
<ns2:PartyId ns2:type="partyIdType">Chain Name</ns2:PartyId> </ns2:From>
<ns2:To>
<ns2:PartyId ns2:type="partyIdType">DHISCO</ns2:PartyId>
</ns2:To>
<ns2:CPAId>HCDUpdateInterface</ns2:CPAId>
<ns2:ConversationId>ConvoID</ns2:ConversationId>
<ns2:Service ns2:type="1.0">HCDUpdateInterface</ns2:Service>
<ns2:Action>UPSERT</ns2:Action>
<ns2:MessageData>
<ns2:MessageId>ID12345</ns2:MessageId>
<ns2:Timestamp>2006-09-05T08:57:04.576-07:00</ns2:Timestamp>
</ns2:MessageData>
</ns2:MessageHeader>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>username@pegs.com</Username>
<Password>password</Password>
</UsernameToken>
</Security>
</env:Header>
<env:Body>
<ns2:OTA_HotelDescriptiveContentNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.000"
PrimaryLangID="en">
<HotelDescriptiveContents>
<HotelDescriptiveContent
Property A
</HotelDescriptiveContent>
<HotelDescriptiveContent>
Property B
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</ns2:OTA_HotelDescriptiveContentNotifRQ>
</env:Body>
</env:Envelope>
<env:Header>
<ns2:MessageHeader xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" ns1:mustUnderstand="false" xmlns:ns2="http://www.oasis- open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" ns2:version="2.0">
<ns2:From>
<ns2:PartyId ns2:type="partyIdType">Chain Name</ns2:PartyId> </ns2:From>
<ns2:To>
<ns2:PartyId ns2:type="partyIdType">DHISCO</ns2:PartyId>
</ns2:To>
<ns2:CPAId>HCDUpdateInterface</ns2:CPAId>
<ns2:ConversationId>ConvoID</ns2:ConversationId>
<ns2:Service ns2:type="1.0">HCDUpdateInterface</ns2:Service>
<ns2:Action>Delete</ns2:Action>
<ns2:MessageData>
<ns2:MessageId>ID12345</ns2:MessageId>
<ns2:Timestamp>2006-09-05T08:57:04.576-07:00</ns2:Timestamp>
</ns2:MessageData>
</ns2:MessageHeader>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>username@pegs.com</Username>
<Password>password</Password>
</UsernameToken>
</Security>
</env:Header>
<env:Body>
<ns2:OTA_HotelDescriptiveContentNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.000" PrimaryLangID="en"> <HotelDescriptiveContents>
<HotelDescriptiveContent
Property C
</HotelDescriptiveContent>
<HotelDescriptiveContent>
Property A
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</ns2:OTA_HotelDescriptiveContentNotifRQ>
</env:Body>
</env:Envelope>
</Batch>
Outbound Batch File Example
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<OTA_HotelDescriptiveContentNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" PrimaryLangID="en" Version="4.000">
<Errors>
<Error Code="497" ShortText="Authorization error
" Type="4">Unable to authenticate and authorize user: username@pegs.com.
Error: Authentication failed for user: username@pegs.com </Error>
</Errors><UniqueID ID="ID12345-XX-12345-1" Type="1"/>
</OTA_HotelDescriptiveContentNotifRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Last updated