OpenTravel Implementation Guide
Executive Summary
OpenTravel Alliance
1740 Massachusetts Avenue
Boxborough, MA 01719 USA
+1 978 263 7606
Email: [email protected]
Web: www.opentravel.org
VERSION 1.2
MARCH 2010
i. OpenTravel Implementation Guide Page i
Introduction
The OpenTravel Alliance (OpenTravel) is a member-funded, nonprofit organi-
zation formed in May 1999 by major airlines, hoteliers, car rental companies,
and companies that provide distribution and technology systems to the travel
industry. OpenTravel’s primary activity is to develop and maintain a library of
Extensible Markup Language (XML) schemas for use by the travel industry.
These schemas constitute the OpenTravel XML specification, which is based
on the World Wide Web Consortium (W3C) XML Schema standard.
The purpose of this implementation guide is to provide, in a single document,
information that an implementer of the OpenTravel specification can use to
more easily build software systems that are interoperable with other travel
systems. The guide should also be useful for analysts who need to under-
stand how to use the OpenTravel specification. In addition, it will help pro-
mote the adoption of the specification by members who have never
implemented XML schemas or who are just becoming involved with Open-
Travel.
The guide has three sections. Section 1 presents some background informa-
tion about OpenTravel and its activities and processes. It then provides some
basic introductory material on XML and XML schemas.
Section 2 describes the architecture of the OpenTravel specification. Specifi-
cally, this section describes the XML schema architecture (schema modularity
and the request and response model) upon which the OpenTravel specifica-
tion is based, and it describes supporting mechanisms such as OpenTravel
code lists.
Section 3 explains how to use the OpenTravel specification to build travel
systems. Specifically, this section describes messaging options available to
implementers of the OpenTravel specification and provides guidance on how
to describe and expose web services, and discusses XML binding tools—the
programs that automatically create pieces of software from XML schemas.
This document will be amended and expanded on an ongoing basis to ad-
dress other topics relevant to the implementation and use of OpenTravel
schemas.
OpenTravel Implementation Guide Page ii
Acknowledgements
OpenTravel’s success as an organization is the result of the commitment of
its member companies, and their willingness to provide resources, to realize
the vision of a standard specification that enables richer interoperability be-
tween travel trading partners and ultimately a better traveler experience.
Several individuals from member companies contributed to this publication.
OpenTravel would like to recognize them and acknowledge the time, effort
and expertise they provided.
Stephen Adkins, The Rubicon Group
Sandy Angel, Marriott International
Kevin Camenzuli, Avis Budget Group
Gee Chia, IBM
Adrianna Colbath, SITA
Allison Danziger, US Airways
Jordan Digby, Viator
Lisa Fues, Marriott International
Paula Heilig, Worldspan
Ron Kleinman, Sun Microsystems
John Lambe, OpenJaw Technologies
Mansour Rezaei Mazinani, SITA
Becky McGee, Hertz
David Morley, Marriott International
Kajsa Palmberg, Amadeus
John Ramos-Yeo, EDS
Chuck Thackston, Worldspan
John Turato, Avis Budget Group
Tony Williams, Travel Technology Initiative
©2010 OpenTravel Alliance www.opentravel.org
OpenTravel Implementation Guide Page iii
Acknowledgements
OpenTravel would like to thank those member companies who have provided
funds for this project as participants in OpenTravel’s Sponsorship Program:
©2010 OpenTravel Alliance www.opentravel.org
OpenTravel Implementation Guide Page iv
Table of Contents
Section 1— The OpenTravel Alliance………………………………………… 6
1.1 Mission and Objectives……………………………………………………….. 6
1.2 Organizational Structure…………………………………………………….. 6
1.3 Key Activities……………………………………………………………………….. 8
1.4 Specification Release Process…………………………………………….. 8
1.5 Extensible Markup Language………………………………………………. 10
1.6 XML Schemas……………………………………………………………………… 11
Section 2— General Functional Implementation…………………….. 12
2.1 OpenTravel Schema Design Best Practices……………………….. 12
2.2 XML Schema Architecture………………………………………………….. 13
2.2.1 Message-Level XML Schemas…………………………………… 14
2.2.2 Function-Specific XML Schemas……………………………….. 15
2.2.3 Industry Common Types XML Schemas…………………… 15
2.2.4 Common Types XML Schemas…………………………………. 16
2.2.5 Simple Types XML Schema……………………………………….. 16
2.3 Supporting Architecture………………………………………………………. 16
2.3.1 Namespaces………………………………………………………………. 16
2.3.2 File Naming………………………………………………………………… 17
2.3.3 Enumerations and Code Lists……………………………………. 18
2.3.4 Success/Warnings/Errors………………………………………….. 21
2.4 Message Exchange Patterns………………………………………………. 23
2.5 Generic Message Functionality…………………………………………… 25
Section 3— General Technical Implementation……………………….. 29
3.1 Getting Started……………………………………………………………………. 30
3.2 Non-functional Requirements…………………………………………….. 35
3.2.1 Payload Transaction Management……………………………. 35
3.2.2 State Maintenance…………………………………………………….. 37
3.2.3 Message Transport……………………………………………………. 38
3.2.4 SOAP Messaging………………………………………………………… 39
3.2.5 HTTP Messaging…………………………………………………………. 60
3.2.6 Web Service Description……………………………………………. 66
3.2.7 Authentication……………………………………………………………. 82
3.2.8 Web Service Reliable Messaging………………………………. 87
3.3 Additional Non-functional Requirements…………………………… 99
3.3.1 Session Management……………………………………………….. 99
3.3.2 Connection Management………………………………………….. 100
3.3.3 Synchronous and Asynchronous Messaging……………. 101
3.3.4 Synchronous Messaging…………………………………………… 101
3.3.5 Asynchronous Messaging…………………………………………. 102
©2010 OpenTravel Alliance www.opentravel.org
OpenTravel Implementation Guide Page v
3.3.6 Transport Security…………………………………………………….. 103
3.3.7 Payload Security………………………………………………………… 104
3.3.8 Message Integrity………………………………………………………. 104
3.3.9 Message Encryption…………………………………………………… 104
3.3.10 Authentication………………………………………………………….. 104
3.3.11 Authorization……………………………………………………………. 104
3.3.12 Security Policies (per process)………………………………… 105
3.3.13 Quality of Service…………………………………………………….. 105
3.3.14 Guaranteed Delivery………………………………………………… 105
3.3.15 Message Priority………………………………………………………. 106
3.3.16 Message Lifetime…………………………………………………….. 106
3.3.17 Flow Control…………………………………………………………….. 106
3.3.18 Message Bundling…………………………………………………….. 107
3.3.19 Service-Level Agreements………………………………………. 107
3.4 XML Data Binding……………………………………………………………….. 107
3.4.1 Overview…………………………………………………………………… 107
3.4.2 Design Considerations……………………………………………… 109
3.4.3 Tools Available………………………………………………………….. 109
3.5 Other Resources……………………………………………………………….. 111
3.5.1 The OpenTravel Forum…………………………………………….. 111
3.5.2 OpenTravel Message Users Guide……………………………. 111
3.5.3 Online XML Schemas………………………………………………… 112
3.5.4 OpenTravel Model Viewer…………………………………………. 112
3.5.5 OpenTravel Webinars………………………………………………… 112
©2010 OpenTravel Alliance www.opentravel.org
OpenTravel Implementation Guide Page vi
Selected Figures
Figure 1-3. OpenTravel Release Process
Figure 2-1. OpenTravel XML Schema Hierarchy
Figure 2-2. OpenTravel XML Schema Categories
Figure 2-7. OpenTravel Response Message Structure
Figure 2-9. Notif Message Exchange Pattern
Figure 3-1. Implementation Procedures
Figure 3-5. Skeleton SOAP Request
Figure 3-10. SOAP RPC with Attachment
Figure 3-13. WSDL Document/Literal Binding Example
Figure 3-23. OpenTravel SOAP Message with WS-Security Token
Figure 3-25. Encrypted OpenTravel Sample SOAP Message
Figure 3-30. Consolidated WSDL (Interface and Binding)
Figure 3-33. OpenTravel Message Using SOAP without Authentication
Figure 3-35. WS-RM and WS-* integration for reliable messaging solution
Figure 3-48. XML Data Binding
©2010 OpenTravel Alliance www.opentravel.org
OpenTravel Implementation Guide Page vii
About the OpenTravel Implementation Guide
The full OpenTravel Implementation Guide, written by OpenTravel staff and members,
is available free of charge to OpenTravel members only. For access to the docu-
ment, please visit the OpenTravel Site at http://www.opentravel.org/, or the Open-
Travel wiki at http://wiki.opentravel.org/index.php/Main_Page. Both sites require
OpenTravel approval for access.
About OpenTravel
The OpenTravel Alliance is passionate about solving the problems inherent with
connecting multiple systems within the complex travel distribution arena.
OpenTravel's mission is to engineer specifications that make data transmission flow
smoothly throughout travel, tourism and hospitality. OpenTravel creates, expands
and drives adoption of open universal data specifications, including but not limited
to the use of XML, for the electronic exchange of business information among all
sectors of the travel industry.
OpenTravel is comprised of companies representing airlines, car rental firms, ho-
tels, cruise lines, railways, leisure suppliers, service providers, tour operators, tra-
vel agencies, solutions providers, technology companies and distributors. Tens of
thousands of OpenTravel message structures are in use, carrying tens of millions of
messages between trading partners every day.
OpenTravel Alliance
1740 Massachusetts Avenue
Boxborough, MA 01719 USA
+1 978 263 7606
Email: [email protected]
Web: www.opentravel.org
© 2010, OpenTravel Alliance. All rights reserved. OpenTravel is a trademark of
the OpenTravel Alliance.
The OpenTravel Alliance is a corporation organized and operating under the laws of
the United States. This document is provided free of charge to OpenTravel mem-
bers. OpenTravel is the sole owner and licensor of the information provided herein,
and expressly and explicitly prohibits reproduction, unauthorized distribution in any
format and/or other misuse of its contents. OpenTravel reserves the right to prose-
cute those who violate this prohibition to the fullest extent of the law.
©2010 OpenTravel Alliance www.opentravel.org