developer’s guide to getting...
Post on 01-Aug-2020
10 Views
Preview:
TRANSCRIPT
Sabre® Event Notification Services
Developer’s Guide to Getting Started
September 2016
Sabre Event Notification Services: Developer’s Guide to Getting Started ii
The information in this document reflects ENS Production release 2.4.
Disclaimer of Warranty and Limitation of Liability
This software and any compiled programs created using this software are furnished “as is” without warranty of any
kind, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. No oral
or written information or advice given by Sabre, its agents or employees shall create a warranty or in any way increase
the scope of this warranty and you may not rely on any such information or advice.
Sabre does not warrant, guarantee, or make any representations regarding the use, or the results of the use, of this
software, compiled programs created using this software, or written materials in terms of correctness, accuracy,
reliability, or otherwise. The entire risk as to the results and performance of this software and any compiled applications
created using this software is assumed by you. Neither Sabre nor anyone else who has been involved in the creation,
production or delivery of this software shall be liable for any direct, indirect, consequential, or incidental damages
(including damages for loss of business profits, business interruption, loss of business information, and the like) arising
out of the use of or inability to use such product even if Sabre has been advised of the possibility of such damages.
Sabre Corporation
3150 Sabre Drive, Southlake, TX 76092
www.sabre.com
© 2005-2016 Sabre GLBL Inc. All rights reserved.
This documentation is the confidential and proprietary information of Sabre Inc. Any unauthorized
use, reproduction, preparation of derivative works, performance, or display of this document, or
software represented by this document, without the express written permission of Sabre Inc., is
strictly prohibited.
Sabre, and Sabre API are trademarks.. All other trademarks, service marks, and trade names are the
property of their respective owners.
Sabre Event Notification Services: Developer’s Guide to Getting Started iii
Contents
FIGURES .................................................................................................................5
PREFACE ................................................................................................................6 Audience .....................................................................................................................................................6
Skills and Background for Developers ...................................................................................................6 Sabre Global Distribution System Expertise ..........................................................................................6
Requirements for Using ENS .....................................................................................................................6 Subscribing Entities ...............................................................................................................................7 Hardware ................................................................................................................................................7 Platform ..................................................................................................................................................7 Network and Communications ...............................................................................................................7 Software .................................................................................................................................................8 Resources ...............................................................................................................................................8
About This Document .................................................................................................................................9 Organization ...........................................................................................................................................9 How to Use This Document ...................................................................................................................9 Document Conventions ........................................................................................................................ 10 Terminology ......................................................................................................................................... 11
CHAPTER 1 INTRODUCTION TO SABRE’S EVENT NOTIFICATION SERVICES .................. 12 Web Services Event Sync Technology Overview .................................................................................... 12 About ENS ................................................................................................................................................ 12
Benefits ................................................................................................................................................ 13 Product Features ................................................................................................................................... 13
High Reliability ............................................................................................................................... 13 Fast Delivery ................................................................................................................................... 14 Time to Live .................................................................................................................................... 14 Throttling of Notification Delivery per Endpoint ............................................................................ 14 Delivery Retry ................................................................................................................................. 14 Retry Intervals ................................................................................................................................. 14 Failed Endpoints .............................................................................. Error! Bookmark not defined. Outage Email Notifications ............................................................................................................. 15 Resume Delivery ............................................................................. Error! Bookmark not defined.
Specifications and Standards the Product Meets .................................................................................. 15 Ordering and Registration Phase .......................................................................................................... 15 Rules for Subscriptions ........................................................................................................................ 16 Requirements for Event Sync ............................................................................................................... 17 Requirements for Using the Subscription Management GUI ............................................................... 17
Contents
Sabre Event Notification Services: Developer’s Guide to Getting Started iv
Process Flow for Using ENS .................................................................................................................... 17 Event Topic Notification Messages .......................................................................................................... 19
PNR Change Notifications ................................................................................................................... 19 PSS Queue Event Notifications ............................................................................................................ 20 Sabre Profiles Event Notifications ....................................................................................................... 21 SOAP Header Format for Notification Messages ................................................................................ 22 Consolidated Notifications Management ............................................................................................. 24
Event Sync Application Design ................................................................................................................ 25 Acknowledgements by the Event Sync ................................................................................................ 25
HTTP Header Format ...................................................................................................................... 25 SOAP Message Format ................................................................................................................... 25
Duplicate Delivery of Notifications ..................................................................................................... 26 Sample Scenario of a Duplicate Delivery ........................................................................................ 27 Verifying the Uniqueness of a Message ID ..................................................................................... 27
Responding to Pings ............................................................................................................................. 28 Notifications Driven by Automated Applications ................................................................................ 28
Subscription Management Sample Flows ................................................................................................. 29 Subscription Management GUI Flow ................................................................................................... 29 Event Notification Flow ....................................................................................................................... 29
CHAPTER 2 USING THE GUI TO MANAGE SUBSCRIPTIONS TO EVENT TOPICS ............. 30 Logging In ................................................................................................................................................ 30 Configuring Your Contact Information .................................................................................................... 32 Subscribing to PNR Change Notifications................................................................................................ 34 Subscribing to Queue Event Notifications ................................................................................................ 39 Subscribing to Sabre Profile Event Notifications ..................................................................................... 43 Creating Multiple Subscriptions to a Single Event Topic ......................................................................... 47 Modifying or Renewing a Subscription .................................................................................................... 48 Canceling a Subscription .......................................................................................................................... 49
APPENDIX A SOAP FAULTS AND SYSTEM ERRORS .................................................. 51 StackTrace Errors ..................................................................................................................................... 52
APPENDIX B OUTAGE EMAIL NOTIFICATIONS ........................................................... 55
APPENDIX C OBTAINING DOCUMENTS ON SABRE DEV STUDIO .................................. 57
APPENDIX D REQUESTING RE-DELIVERY OF FAILED NOTIFICATIONS .......................... 59
APPENDIX E HOW TO CONTACT TECHNICAL SUPPORT .............................................. 60
Sabre Event Notification Services: Developer’s Guide to Getting Started 5
Figures
Figure 1. ..... Sample Payload for a PNR Change Notification ....................................................... 20 Figure 2. ..... Sample Payload for a Queue Event Notification ....................................................... 21 Figure 3. ..... Sample Payload for a Sabre Profiles Event Notification ........................................... 22 Figure 4. ..... Common Elements of a the SOAP Header for a Notification .................................... 23 Figure 5. ..... Consolidated Notification Management .................................................................... 24 Figure 6. ..... Sample Payload for Consolidated Notifications ........................................................ 25 Figure 7. ..... SOAP Message Format for Event Sync Acknowledgements .................................... 26 Figure 8. ..... Login Screen .............................................................................................................. 30 Figure 9. ..... Failed Login Screen ................................................................................................... 31 Figure 10. ... Manage Event Subscriptions – Main Screen without Subscriptions .......................... 31 Figure 11. ... Account Settings Screen ............................................................................................ 32 Figure 12. ... Manage Event Subscriptions Screen .......................................................................... 33 Figure 13. ... PNR Change Subscription Section ............................................................................ 35 Figure 14. ... Before Validate URL button is pressed ..................................................................... 36 Figure 15. ... Subscription Added to PNR Change Notifications .................................................... 38 Figure 16. ... Queue Event Subscription Section ............................................................................. 39 Figure 17. ... Subscription Added to Queue Event Notifications .................................................... 42 Figure 18. ... Sabre Profiles Event Subscription Section ................................................................. 44 Figure 19. ... Subscription Added to Queue Event Notifications .................................................... 47 Figure 20. ... Choosing a Subscription to Modify ........................................................................... 48 Figure 21. ... Modifying a Subscription .......................................................................................... 49 Figure 22. ... Choosing a Subscription for Cancelation ................................................................... 49 Figure 23. ... Canceling a Subscription ........................................................................................... 49 Figure 24. ... Canceled Subscription Removed from the Screen ..................................................... 50 Figure 25. ... SOAP Fault Message Format ..................................................................................... 51 Figure 26. ... Error Format for a Duplicate Subscription ................................................................. 52 Figure 27. ... Outage Notification Providing Number of Undelivered Notifications ...................... 55 Figure 28. ... Outage Notification with Limit for Undelivered Notifications Exceeded ................. 56
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 6
Preface
Caution!
Be sure to cancel any subscriptions you create for test purposes.
You can set the subscription parameters to run as long as you like—there is no
limit on the duration. Delivery of notifications automatically cease when the
expiration date is met, so be sure to monitor the expiration date and either renew
or change the parameters if you want to continue a subscription.
Audience
This document is for developers who want to create Event Sync applications, and optionally,
subscription management clients that use Event Notification Services (ENS).
Skills and Background for Developers
To receive notifications and design an Event Sync Application, the following skills are
necessary:
Proficiency with the Java programming language
Familiarity with the core enabling technologies of XML, XML schema, SOAP, and
HTTP/HTTPS
Sabre Global Distribution System Expertise
Sabre global distribution system expertise is required for successful development and testing
of your Event Sync.
Subscribers need access to a Sabre SME who is knowledgeable about the Sabre system,
Sabre data, Sabre processes, and the travel industry.
.
Requirements for Using ENS
This topic discusses what you need with regard to hardware, communications, and software
in order to use ENS.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 7
Subscribing Entities
Developers who wish to use Sabre Event Notification Services must be active Sabre API
subscribers in good standing.
Travel agency customers must either be active Sabre API subscribers or active Sabre API
downline customers.
Subscribing entities indicate which Sabre API machine-to-machine login ID they want to
activate for ENS. They use this to log in to the subscription management GUI.
The security credentials consist of the username, password, organization, and domain.
ENS assets are stored on Sabre Dev Studio.
Hardware
The actual hardware requirements depend on the subscribing entity and the individual project
or solution. Any hardware configuration that can support the customer’s choice of platform is
sufficient.
Platform
Event Notification Services is a platform-neutral offering that adheres to cross-platform Web
services standards. It does not restrict the environment for developing or deploying solutions.
Solutions for ENS can be deployed in any environment that supports HTTP (Hypertext
Transfer Protocol), including Microsoft Windows® and UNIX®, without requiring bridges or
special interfaces.
A wide variety of languages and development toolkits can be used to design and deploy the
solutions. It ascribes to the specifications developed by Web Services Eventing (WS-
Eventing), using technologies backed by Sun Microsystems, Inc., IBM Corporation, and
Microsoft Corporation.
Network and Communications
Your communications and connectivity must provide Internet access, both inbound and
outbound, on port 80 or 443. Your firewall must allow ENS inbound and outbound
traffic on the right port.
Notice: Ensure that your firewall is opened to allow traffic from the following ENS IP
addresses.
Certification Environment Production Environment
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 8
151.193.58.254 151.193.255.254
151.193.119.48 151.193.119.1
A high speed Internet connection (DSL, cable, T1, etc.) is needed.
Software
You can implement any solution or Web server that supports the following communications
and messaging protocols that are compatible with your platform of choice:
HTTP 1.1
SOAP 1.1
TLS 1.2
XML 1.0
Resources
The following resources are needed to use ENS:
Sabre API Guide to Accessing and Using Services – This document describes the format
of the SOAP messages that are used to open and close a connection, and how to create
connections.
Sabre Dev Studio – This portal has documentation for all components of Event
Notification Services including this developer’s guide and sample Event Sync
application. The URL is as follows:
https://developer.sabre.com/
Customers must register on Sabre Dev Studio to get access to ENS and other Sabre API
assets.
URL for the subscription management GUI in both Certification (CERT) and Production
(PROD) environments
This links to a web-based application for creating and managing subscriptions. The URLs
are as follows:
https://cert.eventnotification.sabre.com
https://eventnotification.sabre.com
(Optional) Sample Java Event Sync application
Public draft release of WS-Eventing Specification released in August 2004
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 9
http://msdn.microsoft.com/webservices/understanding/specs/default
.aspx?pull=/library/en-us/dnglobspec/html/ws-eventing.asp
http://www-128.ibm.com/developerworks/library/specification/ws-
eventing/
http://www.w3.org/Submission/WS-Eventing/
About This Document
Organization
This document is organized into a preface, chapters and appendixes.
The Preface discusses requirements for using ENS and sets forth terminology.
Chapter 1 describes the ENS product offering, and the rules and design requirements for
Event Syncs.
Chapter 2 shows you how to create and manage subscriptions to event topics using the
subscription management GUI.
The appendixes provide additional information on troubleshooting, outage notifications, the
documentation set, and how to contact technical support.
How to Use This Document
Scan the requirements and terminology in the Preface. Review all product and Event Sync
requirements in Chapter 1.
For information on creating subscriptions, read Chapter 2.
Skim the appendixes for further information.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 10
Document Conventions
The following terms, which are used in ENS documentation, are described below:
This Naming Convention ... Is Used in Documentation as Follows ...
( Event Sync) application The application with the listener for the Event Sync that
handles the notifications. The subscribing entity creates
this.
connection An open channel to the Sabre API infrastructure
Sabre Dev Studio Sabre Developer Portal where Sabre API and ENS
artifacts and information is stored.
outage email notification An email message that is sent to the subscribing entity’s
administrator, advising the subscriber when attempts to
deliver notifications to the endpoint are unsuccessful
subscribing entity This is the entity, such as a travel agency or other business
that registers to use ENS and receives notifications of
events.
subscription management
GUI
The Web-based application that creates and manages
subscriptions to Sabre’s event topics over a URL. The
subscribing entity can create and use this.
subscription parameters The data that defines the scope of the notifications.
Parameters that apply to all subscriptions for all event
topics include Event Sync URL and subscription dates.
Every event topic has additional parameters that apply
specifically to that topic, such as PCCs, airline codes, and
queues.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 11
Terminology
The following terms are related to ENS. Term Description
delivery mode* The mechanism by which notifications are delivered from the
source to the Event Sync. For ENS, this is push.
Event Engine The “service provider” to USG for Sabre Event Notification
Services subscription Web services. It updates the subscription
database.
This is a component of ENS.
Event Sync* In this document, an Event Sync is an application that receives the
notifications on a URL.
It is an Event Sync listener on the system of the subscribing entity
that waits for an Event Sync that will trigger the application code.
event source* According to the WS-Eventing specification, it is a Web service
that sends notifications and accepts requests to create
subscriptions.
In this document, an Event Sync source is the component of ENS
that produces messages for subscriptions, once an Event Sync
comes from the Sabre Pub/Sub system.
event topic A type of Event for which notification messages are sent.
Event topics for ENS are PNR changes, PSS Queue changes and
Sabre Profile changes.
notification* The WS-Eventing specification uses the term notification and
describes it as follows:
A one-way message sent to the Event Sync advising that an Event
has occurred. This document uses the terms notification and
notification message.
Pub/Sub Sabre’s enterprise Publish/Subscribe system for internal use only.
push mode* The WS-Eventing specification describes this as a delivery
mechanism where the source sends Event messages [notifications]
to the Sync as individual, unsolicited, asynchronous SOAP
messages.
Sabre Publishers Producers of messages for PNR changes, Queue changes, and
Profile changes.
*The source of this information was taken from http://www.w3.org/Submission/2006/SUBM-
WS-Eventing-20060315/, submitted 15 March 2006. Copyright 1994-2007 W3C
(Massachusetts Institute of Technology, European Research Consortium for Informatics and
Mathematics, Keio University), All Rights Reserved.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 12
Chapter 1 Introduction to Sabre’s Event
Notification Services
Web Services Event Sync Technology Overview
Events are actions that are initiated by users or systems which can be detected by software
programs. Some examples of Event are changes to Passenger Name Records (PNRs),
reservation Queues, and Sabre Profiles. According to several industry experts who are jointly
submitting a specification about Event Syncing, Events are being defined as real-world
occurrences that trigger actions in software.
Additionally, they define Web services Event Syncing, also referred to as WS-Eventing, as a
technology that provides a common way to communicate Events. WS-Eventing is a draft
specification that basically allows a Web service to subscribe to and accept subscriptions for
Event topics generated by other Web services. Web services can send and receive
information about Events that have occurred, regardless of where the Event originates. The
proposed draft includes a set of protocols, message formats, and interfaces that enable a Web
service to subscribe to Events from another Web service.
WS-Eventing supports SOAP 1.1 and 1.2 Envelopes.
About ENS
With ENS, subscribing entities receive notifications whenever Events to which they subscribe
occur. The Events available in this release of the product are PNR changes, PSS Queue
changes, and Sabre Profiles. ENS is based on the public draft release of the Web Services
Event Syncing Specification of August 2004. All notifications are OTA XML compliant.
ENS sends the notifications to the receiving URL of the subscriber, called the Event Sync,
immediately after the Events occur. When an Event is triggered that matches the parameters
that were specified in a subscription, the Event Sync application receives the notification in
structured XML format via the IP address or URL in the subscription. If the Event does not
match the specified parameter, the Event Sync Source does not send the notification to the
Event Sync.
ENS has two main components, listed below.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 13
Web Services Event Syncing Engine (WSE). This component receives notifications from
Event Sync sources. The WSE engine implements the Web Services Event Syncing
standards.
A notification service that delivers notifications to the Event Sync provided by the
subscribing entities. The notifications are delivered as XML messages. Sabre Event
Notification Services uses the HTTP POST method to send the notifications.
Subscribing entities can use a Web-based GUI to establish subscription parameters. How to
create and manage subscriptions is explained in Chapter 2.
After creating subscriptions, subscribing entities can renew, modify or cancel their current
subscriptions, and they can also create new subscriptions.
Benefits
ENS benefits businesses in the following ways:
Reduces scan costs – Eliminates excessive Sabre host system scans by alerting you of
changes instead of you generating system inquiries
Supports simplified and streamlined robotic activity
Improves customer satisfaction with timely notifications to your customers
Generates opportunities for increased revenue by providing value-added travel
management services to your customers
Gives you immediate access to booking information and changes to reservations to
enforce policy compliance for corporate travel
In addition, using ENS reduces long-term IT costs due to the following:
Elimination of dedicated network connections to the Sabre® system
Reduction in application development and maintenance costs
A shortened development life cycle
Lower infrastructure costs because the infrastructure is reduced (Internet connectivity)
Platform and technology independence (interoperability)
Lower integration and deployment costs. Using open standards and Web Services Event
Syncing standards enable the use of interoperable publish/subscribe systems
Product Features
High Reliability
ENS is designed to deliver messages with high reliability. The goal is for all components that
comprise the infrastructure to be available 24x7, with the exception of scheduled
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 14
maintenance. A window for maintenance activities will be established at a regular time and
communicated to subscribing entities. When the need for maintenance arises, ENS will be
unavailable during this maintenance window only, on an as needed basis.
Fast Delivery
The ENS infrastructure provides nearly real-time delivery of notifications. The notification is
pushed when an Event Sync occurs.
Time to Live
The system within Sabre that publishes the message determines the time to live for the
message. Each message can have a different time to live value, and instances may arise when
the time to live value expires before the message is delivered to the subscriber.
Throttling of Notification Delivery per Endpoint
While ENS starts a maximum of 6 TPS, the Event Sync does not always receive the
maximum of 6 TPS. The delivery of 6 TPS depends on factors such as network speed, delays,
or other reasons. For example, in the first second, suppose that ENS starts 6 TPS, and then a
network delay occurs. In the next second, ENS starts another 4 transactions. During this time,
the customer receives 10 transactions. The quantity of 10 TPS exceeds 6 TPS because the
original 6 TPS in the first second were delayed until the next second.
Delivery Retry
If ENS cannot deliver a message, it retries delivery a maximum of 3 times as soon as possible.
Undelivered Notifications
If ENS cannot deliver notifications because the customer’s endpoint is down, or because there
is no verification that the message has been received (via an acknowledgment message from
the customer’s Event Synch app), the endpoint is marked as failed. ENS discontinues sending
notifications to the endpoint, and the subscribing entity receives an outage email notification
saying that delivery has failed.
ENS tries to reconnect to the failed endpoint by pinging the URL using the GET method. ENS
continues to try to reconnect to ascertain whether the endpoint is alive.
If ENS is unable to deliver notifications after 72 hours, ENS stops attempting to deliver
notifications to the endpoint.
The failed notifications are stored for a period of up to 6 months for re-delivery.
When ENS tries to ping the failed URL at any point within the 72 hour retry window and
discovers that the URL is alive, the delivery of notifications is resumed.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 15
Please see Appendix D for more information on requesting re-delivery of notifications.
Outage Email Notifications
Whenever the endpoint of the subscribing entity experiences an outage, ENS sends an outage
email notification to the email address of the administrator of the subscribing entity, as
provided during registration. Outage emails are also sent if there is no confirmation of
receipt of the message from the customer’s Event Synch app.
1. To minimize the number of outage notifications being sent, ENS will consolidate PCC,
event type, and the timestamp for the messages that were undelivered in the last hours
and a single email is sent with all these details.
2. If no more messages are sent to this endpoint, there will not be any further notifications.
3. Next subsequent email will include only the information of those messages that were
unsent since the last time the outage email was sent.
4. After 72 hours no additional outage email notifications will be sent.
For examples of outage email notifications, see Appendix B.
Specifications and Standards the Product Meets
WS-Eventing, a public draft of the Web Services Event Syncing Specification, was released in
August 2004. This is one of many “WS-“proposals. It was offered by BEA Systems,
Microsoft Corporation, Tibco Software, Inc., Computer Associates International, Inc., Sun
Microsystems, and IBM Corp. It is a unified protocol proposed for Java and Microsoft .NET
Framework “Events.”
The specification is published on the following sites:
http://www.w3.org/Submission/WS-Eventing/ - The proposed submission to the W3C of
the specification
http://www-128.ibm.com/developerworks/library/specification/ws-eventing/ - From
IBM’s link, you can download the WS-Eventing specification, and the WSDL and XML
schema definition.
http://www.idevnews.com/IntegrationNews.asp?ID=99
Ordering and Registration Phase
Information and values you provided to your Sabre account representative during the product
registration phase affects your subscriptions, Event Sync application behavior, and the
behavior of ENS.
You supply or confirm the following:
An iPCC for activating ENS. You will use this to create and manage subscriptions.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 16
The security credentials you want to activate for ENS. You will use these to create and
manage subscriptions. Security credentials consist of username, password, organization,
and domain.
A valid URL for your Event Sync application.
A contact email address for ENS to send notices about failed delivery of notifications and
non-responding URLs
Note: All subscribing entities must manage their contact information on the Account
Settings section of the subscription management GUI, as shown on page 30.
Your PCCs for subscriptions to PNR/Queue change notifications
The configuration you want for PNR change notifications. For more information, see
page 19 in this document, and the PNR Change Notifications description documentation.
Your Queue numbers for Queue Event notifications. A maximum of 512 queues per PCC
per subscriber is allowable, however, not necessarily possible due to the pre-assigned
Queues in PSS. Subscribing entities must provide the range of Queue numbers during
registration so those Queues can be included in the publishing system that monitors
Queues.
Rules for Subscriptions
1. Subscribing entities can create subscriptions to Event topics using a valid URL. Each
subscription may specify a different URL. The receiving URLs must listen to ENS
messages on HTTP port 80 or on HTTPS port 443.
2. There is no maximum quantity of PCCs for a single subscription to PNR Change
Event.
For example, subscription number 1 for PNR change includes changes to 100 PCCs, and
subscription number 2 for PNR change includes changes to 100 PCCs, some of which
differ from subscription number 1.
3. Queue Event subscriptions can specify a maximum of 512 Queues for a single
subscription. Queues are supported in the format PCC.nnn, where PCC is a PCC that
the subscriber registered and nnn is a 3-digit numeric Queue number. The range of
Queues must be from 0 – 512.
Queue Number Format Example: PCC.070
4. You establish the dates and time to start and end every subscription. Delivery of
notifications ceases as soon as the expiration date of a subscription is met.
5. When creating multiple subscriptions to a single Event topic, each subscription must
have unique parameters.
6. A subscription becomes active on the Sabre Event Notification servers 5 minutes after
it is created.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 17
Requirements for Event Sync
1. The ENS infrastructure supports HTTP on port 80 and SSL connections on port 443 for
the first production release. Your firewall must allow both inbound and outbound
traffic.
2. Your Event Sync must send an acknowledgement to ENS in the prescribed format
within 10 seconds after the delivery of every notification message. (For more
information, see “Acknowledgements by the Event Sync” on page 25.) You must
acknowledge delivery whether you subscribe using the GUI or subscription services.
3. When ENS calls the endpoint of your Event Sync using the GET method, the endpoint
must respond with HTTP 202 Accepted. If your Event Sync fails to respond in this
way, ENS interprets this as an inactive or failed endpoint and takes other action. (For
more information, see “Responding to Pings” on page 27.)
4. You can design your Event Sync application to verify that the notification messages it
receives are not duplicates of the same message. (For more information, see page 26.)
Requirements for Using the Subscription Management GUI
You must use it to create and manage all your subscriptions, and to maintain your contact
information.
Process Flow for Using ENS
The process for using ENS has the following general parts:
1. Register for ENS.
Your Sabre account representative registers your organization. During registration, you
provide your account representative with some specific information about the Event
topics which interest you, and some subscription parameters.
The PCC you want to use for registration and subscription purposes
A URL to register with ENS
A range of parameters for each Event topic, described as follows:
For PNR change Event topics, you provide the related PCCs and the configuration you
want
For Queue Event topics, you provide the PCCs and all Queue numbers related to the
PCC.
After registration, you establish and customize your subscriptions by selecting specific
parameters from the range of parameters you provided during registration.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 18
2. Subscribe to Event topics by creating subscriptions and establishing subscription
parameters. Please note subscriptions must be updated/tested in Certification first.
After you register, you complete the subscription process. You create subscriptions by
using a Web-based subscription management GUI.
You subscribe to each Event topic one at a time. Every subscription must have a start and
end date and the URL address of your Event Sync where the notifications will be
delivered.
If you establish multiple subscriptions for an Event topic, each subscription must have
unique parameters. The parameters let you obtain the specific content you want,
described as follows:
PNR change Event topics – During registration, you choose a configuration option
for the types of PNR changes to be notified about. You choose the PCCs from the list
you provided during registration, and you also establish the subscription start and end
dates with the URL address of your Event Sync. For more information, see
page 19.19.
Queue Events – You choose the Queues from the list you provided during
registration. You also establish the subscription start and end dates and the URL
address of your Event Sync. For more information, see page 20.
Sabre Profiles Events – You choose the PCCs from the list you provided during
registration and establish the start and end date with the URL address of your Event
Sync. For more information, see page 21.
3. Design, code, and test your Event Sync application in the Certification environment.
Your design must comply with certain requirements, as described starting on page 25.
Deployment to the Production environment will only occur once ENS has
confirmed successful testing.
4. Receive Event notifications.
After you create your subscriptions, Events that meet your criteria are pushed in XML
format to the URL you supplied. Your Event Sync application parses the content and
redistributes it as desired. The Events continue to get pushed to your URL until the
expiration date is met, or you modify or cancel the subscription.
5. Manage subscriptions on a regular basis.
Subscription management is ongoing. After creating your subscriptions, you manage
them whenever it is necessary. Management includes activities such as modifying the
Event parameters, renewing subscription dates, creating new subscriptions with different
parameters, and canceling subscriptions (sometimes referred to as unsubscribing). You
can also obtain a list of your current subscriptions.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 19
Event Topic Notification Messages
This section describes Event notifications for the three Event topics currently available, a general
description of the SOAP message header, and the Consolidated Notifications Management
features.
PNR Change Notifications
This message notifies subscribers about changes to PNRs associated with one or more PCCs.
When an end transaction on a PNR occurs or the PNR is saved otherwise, a notification
message is delivered to the URL of the Event Sync soon thereafter.
Note: Two options for configuring PNR changes you want to be notified about are
available—you must choose one option during registration.
No Filters. (Default configuration). An Event is triggered for an end transaction on a
PNR create and all subsequent end transactions on the PNR. If any of the updates are on
monitored fields, the notification includes a change indicator.
Updates Filter. An Event is triggered for an end transaction whenever any update is
made to an existing PNR. If any of the updates are on monitored fields, the notification
includes a change indicator.
Fourteen fields are monitored for changes if you subscribe to the PNR topic.
Change Indicator Notification sent
Itinerary When any itinerary segment data changes (added/deleted/modified)
Name When the passenger name field is changed
Phone When the Phone field (9) is changed
ReceivedFrom When the received from field (6) is changed
Ticketing When the ticketing fields (7 or 8) is changed
PassengerAddress When the address field (W-) is changed.
PassengerDetail When email field (PE) is changed
PreReservedSeats When the Pre Reserved Seat data is changed
HostFacts When airline facts (SSR and OSI) data is changed
GeneralFacts When general facts (SSR and OSI) data is changed
AgencyAccountingData When accounting lines changed
Remarks When the remarks field (5) is changed
FrequentTraveler When the frequent traveler field (FF) is changed
MiscTicketing When the MISC ticketing data (MCO, PTA etc.) is changed in the PNR
For notifications that include change indicators, the indicators communicate the types of
changes that have been made to a PNR, but not the actual changes to the content. For
example, a switch tells you that the Frequent Traveler information has been changed, but not
what the change is.
An example of the SOAP body with payload for a PNR change notification is shown as
follows.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 20
<soap-env:Body>
<swse:CCC.PNRCHNG>
<swse:OWNPCC>PCC1</swse:OWNPCC>
<swse:HOMEPCC>PCC2</swse:HOMEPCC>
<swse:Locator>ABCDEF</swse:Locator>
<swse:EventTimeStamp format="yyyy-MM-dd hh:mm:ss.fffffffff">2007-10-30
11:41:31.000449</swse:EventTimeStamp>
<swse:ChangeIndicators>
<swse:Indicator name="Itinerary">
<swse:hasChanged>Y</swse:hasChanged>
</swse:Indicator>
<swse:Indicator name="Passenger Detail">
<swse:hasChanged>Y</swse:hasChanged>
</swse:Indicator>
<swse:Indicator name="Remarks">
<swse:hasChanged>Y</swse:hasChanged>
</swse:Indicator>
</swse:ChangeIndicators>
</swse:CCC.PNRCHNG>
</soap-env:Body>
Figure 1. Sample Payload for a PNR Change Notification
This example shows that three changes have been made to monitored fields in record locator
ABCDEF: itinerary, passenger details, and remarks.
PSS Queue Event Notifications
This notification informs you about changes to PSS Queues that are associated with one or
more PCC and message Queues. The notification provides the Queue depth of all Queues that
have changed since the previous Queue change notification was sent.
When a Queue placement action occurs in PSS, the following happens:
The count is updated for the corresponding PSS Queue.
A notification message is sent immediately, unless a notification message was sent within
the preceding minute. In this case, no message is sent.
Notice: Queue Event Notifications are only delivered once a minute. For example, if there
are continuous placements on a queue then the notification will be triggered only for the 1st
queue placement of the minute. Subsequent placements in that minute will not trigger a
notification. The 1st queue placement in the next minute will trigger a notification and
subsequent queue placements in that next minute will not trigger a notification and so on.
This is a restriction put in place to reduce the number of notifications generated that could
impact system performance.
Event notifications are driven only when actual PSS Queue activity occurs.
Queues are polled at one minute intervals. If no changes have been made within the one
minute window, a notification is not generated.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 21
An example of the SOAP body with payload for a PSS Queue Event notification is shown as
follows. For complete information about the notification message for Queue Event topic,
consult the Queue Event Notification description and related documents on Sabre Dev Studio.
<soap-env:Body>
<swse:QueueElem>
<swse:UniqueId>HIJKLM</swse:UniqueId>
<swse:PartitionCode>AA</swse:PartitionCode>
<swse:PCC>PCC3</swse:PCC>
<swse:QueueNo>060</swse:QueueNo>
<swse:PrefactoryCode>
</swse:PrefactoryCode>
<swse:QueueDepth>0025</swse:QueueDepth>
</swse:QueueElem>
</soap-env:Body>
Figure 2. Sample Payload for a Queue Event Notification
The preceding notification is for message Queue 060 belonging to PCC3. Notifications for
message Queues send an empty PrefactoryCode element; the UniqueId may or may not
be blank.
Sabre Profiles Event Notifications Sabre Profiles is Sabre Travel Network’s revolutionary profile system. It is a relational
database that:
• improves an agency’s ability to use traveler, corporation, supplier and agency profile
information
• streamlines the process of creating and managing traveler information in a structured
manner
• makes critical information available at all transaction
touch points
Sabre Profiles Web Services provide easy and flexible access to the Sabre Profiles database,
enabling integration with other applications. Sabre Profiles Web Services are fundamental for
developers who support agencies using STARs today
Event Notification Services are an optional set of services available to Sabre Profiles web
service subscribers. Customers that subscribe to Event Notification Services will be notified
about changes to Profiles residing within a PCC. Notifications are generated for the following
Event types:
Create Profile
Update Profile
Delete Profile
Restore Profile
Sample Payload for Profile Create notification:
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 22
<soap-env:Body>
<swse:Sabre_OTA_EventNotification xmlns="http://www.sabre.com/eps/schemas">
<swse:ProfileEvent>
<swse:Action Timestamp="2011-06-15T18:43:38.728Z" Type="CREATE"/>
<swse:TPA_Identity ClientCode="TN" ClientContextCode="MYS" DomainID="XXXX"
ProfileName="Sample Profile Name" ProfileTypeCode="TVL" UniqueID="123456789"/>
</swse:ProfileEvent>
</swse:Sabre_OTA_EventNotification>
</soap-env:Body>
Figure 3. Sample Payload for a Sabre Profiles Event Notification
NOTE: attributes in gray may not always be sent (depending on the content of the Profile).
Profile consists of Subject Areas like: Email, Address, Payment Form, and many more.
Notification payloads for Profile Update contain additional information about Subject Areas
which were changed. The actual content of the change is not included though.
The system receiving the notification may choose to act on the notification and, for example,
perform a Sabre_OTA_ProfileReadRQ or Sabre_OTA_ProfileHistoryRQ web service call to
retrieve the up-to-date content of the Profile, or to find out more about the changed data.
Sample Payload for Profile Update notification:
<soap-env:Body>
<swse:Sabre_OTA_EventNotification xmlns="http://www.sabre.com/eps/schemas">
<swse:ProfileEvent>
<swse:Action Timestamp="2011-06-15T18:43:38.728Z" Type="UPDATE"/>
<swse:TPA_Identity ClientCode="TN" ClientContextCode="MYS" DomainID="XXXX"
ProfileName="Sample Profile Name" ProfileTypeCode="TVL" UniqueID="123456789"/>
<swse:SubjectArea Name="PersonName" />
<swse:SubjectArea Name="Telephone" />
<swse:SubjectArea Name="Email" />
<swse:SubjectArea Name="Address" OrderSequenceNo="1" />
</swse:ProfileEvent>
</swse:Sabre_OTA_EventNotification>
</soap-env:Body>
Figure 4. Sample Payload for a Sabre Profiles Event Notification
SOAP Header Format for Notification Messages
ENS obtains content from Production systems. Notifications are delivered using the HTTP
POST method.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 23
Notification messages are formatted as XML and are OTA XML compliant. They are
delivered as SOAP envelopes with a header and body. The notification portion of the
message is wrapped inside the body in a root element that is specific to the Event topic.
The Event header delivers information about the Event topic, subscription, and notification
message.
The SOAP body includes the root element and payload, that is, the actual notification content.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap-env:Envelope xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"
xmlns:swse="http://wse.sabre.com/eventing"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing">
<soap-env:Header>
<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1">
<wse:MySubscription>PCC1</wse:MySubscription>
<swse:EventTopic>WSE.QUEUE.PSS.FLIFO</swse:EventTopic>
</eb:MessageHeader>
<wsa:Action>http://wse.sabre.com/EventSource/notification</wsa:Action>
<wsa:MessageID>1c8a3460-6dc9-44ad-953a-cbc141c77d89</wsa:MessageID>
<wse:Identifer>63f2f81b-544b-49e8-913b-301b22a081bd</wse:Identifer>
<wsa:To>http://localhost:18888/</wsa:To>
</soap-env:Header>
<soap-env:Body>
.
.
.
</soap-env:Body>
Figure 5. Common Elements of a the SOAP Header for a Notification
Header elements which are especially helpful are described as follows:
Element Description
<wse:MySubscription> The PCC that the subscribing organization registered
<swse:EventTopic> The value that identifies the Event topic for this notification, shown as
follows:
PNR Change Events - WSE.QUEUE.CCC.PNRCHNG
Queue Events - WSE.QUEUE.PSS.SABREQUEUE
<wsa:MessageID> The unique identification number of the message
<wse:Identifer> The unique subscription identification number
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 24
<wsa:To> The URL or IP address and port of the Event Sync, where the
notification is delivered
Consolidated Notifications Management
The Consolidated Notifications Management feature allows ENS customers to select by
frequency and/or by number the PNR and Queue notifications. Host messages are compared
to each ENS customer profile. If an Event Notification Management option is associated
with the message, ENS will hold the message until the notification condition has been met
and will “batch” all the messages as a single notification.
Figure 6. Consolidated Notification Management
<?xml version="1.0" encoding="UTF-8"?><soap-env:Envelope
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:swse="http://wse.sabre.com/eventing"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing"><soap-
env:Header><eb:MessageHeader eb:version="1.0" soap-
env:mustUnderstand="1"><wse:MySubscription>7TZA</wse:MySubscription><swse:EventTopic>W
SE.QUEUE.CCC.PNRCHNG</swse:EventTopic></eb:MessageHeader><wsa:Action>http://wse.sabre.
com/EventSource/notification</wsa:Action><wsa:MessageID>3ce859c4-5e4c-4b2f-9a08-
f656beacd883</wsa:MessageID><wse:Identifer>ea2737cb-00e3-4ba2-aa99-
8970cee70e42</wse:Identifer><wsa:To>http://localhost:12345/</wsa:To></soap-
env:Header><soap-env:Body><swse:BATCH.NOTIFICATION TYPE="PNRCHNG">
<swse:CCC.PNRCHNG>
<swse:OWNPCC>N0V3</swse:OWNPCC>
<swse:HOMEPCC>W0H3</swse:HOMEPCC>
<swse:Locator>KDNIRN</swse:Locator>
<swse:EventTimeStamp format="yyyy-MM-dd hh:mm:ss.ffffff">2012-05-30
09:49:52.000493</swse:EventTimeStamp>
<swse:ChangeIndicators>
<swse:Indicator name="Itinerary">
<swse:hasChanged>Y</swse:hasChanged>
</swse:Indicator>
</swse:ChangeIndicators>
</swse:CCC.PNRCHNG>
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 25
</swse:BATCH.NOTIFICATION></soap-env:Body></soap-env:Envelope>
Figure 7. Sample Payload for Consolidated Notifications
Event Sync Application Design
When an Event occurs that meets the criteria you specified in the subscription process, you
automatically receive notification as a structured XML message on the URL you supplied in
the subscription. Polling is not needed.
Some of the facets of your design for the Event Sync application are discussed below:
Event Sync acknowledgements
Duplicate delivery of a notification message
Responses to pings by ENS
Acknowledgements by the Event Sync
This information is applicable to all subscribing entities. Your Event Sync must acknowledge
receipt of all notifications. The purpose of the acknowledgement is to tell ENS that a specific
notification was received.
You are advised to set confirmation to occur immediately after delivery, and to respond
within 1 second.
ENS requires your Event Sync to comply with either of two formats or types of
acknowledgements, discussed in the topics that follow.
HTTP Header Format
The first option is sending an HTTP header without data.
Example:
HTTP/1.1 202 Accepted
For information about HTTP status codes, see the following URL:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html.
SOAP Message Format
The second option is sending a SOAP message, in the format shown in Figure 8.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 26
<soap-env:Envelope xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"
xmlns:swse="http://wse.sabre.com/eventing"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing">
<soap-env:Header>
<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="0">
<wsa:MessageID>56d6b85a-467e-4da2-a6ac-3860f244912a</wsa:MessageID>
<wse:Identifer>7e183baf-9f61-46c5-b9af-4e3006811550</wse:Identifer>
</soap-env:Header>
<soap-env:Body>
<swse:Response>
<swse:Status>OK</swse:Status>
<swse:Received>1184603384290</swse:Received>
<swse:Processed>48</swse:Processed>
</swse:Response>
</soap-env:Body>
</soap-env:Envelope>
Figure 8. SOAP Message Format for Event Sync Acknowledgements
All elements must be sent with the values as shown. Variable values are described as follows.
Element Description
<wsa:MessageID> Send the message ID parsed from wsa:MessageID in the notification you
are acknowledging.
<wse:Identifer> Send the value parsed from wse:Identifer in the notification you are
acknowledging.
<swse:Status> You must pass one of the following values:
OK or ERROR
If ERROR is sent, ENS continues to deliver notifications. This data is collected
internally.
<swse:Received> Send the time when your Event Sync received the notification, in
milliseconds. The Java method currentTimeMillis() calculates this
value.
For the method, see the following URL:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#currentTimeMillis()
<swse:Processed> (Optional) This is the duration of time that it took your Event Sync to process
the notification, in milliseconds.
Duplicate Delivery of Notifications
If ENS fails to receive an acknowledgement from an Event Sync, ENS tries to send the
notification a second or third time, as usual. Because of this, it is possible that the Event Sync
will receive duplicates of the same notification.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 27
This can happen if the notification message is delivered to the Event Sync and the Event Sync
sends an acknowledgement, but the acknowledgement is not delivered. This could be due
either to a network outage, a connection time-out, or a component of the ENS architecture
being unavailable. Because the acknowledgement is not received, ENS sends the same
message a second time.
Delivery failures are usually the result of malfunctions, most often due to network problems.
Subscribing entities are responsible for their network connections. If their networks are
unreliable, they may receive duplicate messages often.
ENS counts duplicate notifications as 1 notification, therefore, a count of 1 notification is
provided to the billing system in the case of duplicate deliveries. Consequently, subscribing
entities will only be billed for 1 notification.
Sample Scenario of a Duplicate Delivery
In this scenario, ENS sends a notification twice.
1. ENS sends a notification to the Event Sync.
2. The Event Sync receives the notification and sends an acknowledgement.
3. A brief network outage occurs.
4. ENS does not receive the acknowledgement in the format HTTP 202 Accepted
5. ENS sends the same notification to the Event Sync.
6. The Event Sync receives the notification and sends a second acknowledgement.
7. ENS receives the acknowledgement from the Event Sync.
8. ENS provides a count of 1 notification to the billing system.
In this example, the Event Sync receives the same data twice.
Verifying the Uniqueness of a Message ID
When you design your Event Sync application, you can verify whether the message ID in
notification messages has been received, and thereby avoid handling duplicate data. Test or
parse the value of <wsa:MessageID> in the notification’s header. Every notification has a
unique message ID. When the same message is sent multiple times, the message ID is the
same. The following line shows the message ID.
<wsa:MessageID>17aa9b55-7cac-4327-80d9-e5f2b98967b3</wsa:MessageID>
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 28
Responding to Pings
When ENS pings the endpoint of your Event Sync, you are required to respond. All Event
Sync must support this. It is used to verify that the Event Sync is operational.
The flow is as follows:
1. ENS calls the URL of your Event Sync using the HTTP GET method.
2. Your HTTP server responds. This can be an HTTP header followed by the string OK.
3. ENS accepts the response, and ensures that the response includes data.
Notifications Driven by Automated Applications
If you have robotic or other automated applications whose activities trigger Event with ENS,
your Event Sync will receive notifications for the affected Event topics.
You must maintain an awareness of your automated actions that trigger Events, and design
your Event Sync to process notifications that are triggered by your own actions. Several
sample scenarios that illustrate this follow.
Sample Scenario 1
1. Within Sabre systems, an end transaction occurs on a PNR for one of your PCCs.
2. A PNR change notification is delivered to your Event Sync.
3. Your robotic application processes the PNR change notification by adding remarks to
the PNR and ending the transaction.
4. A PNR change Event occurs due to the addition of remarks.
5. ENS delivers a PNR change notification to your Event Sync related to the change your
robotic application made.
The situation may be further complicated if your robotic application places the PNR on
queue, driving a PNR change notification that your robotic application triggers.
Sample Scenario 2
1. A PNR is created and an end transaction occurs for one of your PCCs.
2. You receive a PNR change notification. The PNR is created and waiting to be ticketed.
3. Your robotic application tickets the PNR and places it on Queue.
4. You receive a Queue Event notification for an Event triggered by your own robotic.
Chapter 1 Introduction to Sabre’s Event Notification Services
Sabre Event Notification Services: Developer’s Guide to Getting Started 29
Subscription Management Sample Flows
An overview of the flow for using the subscription management GUI follows.
Subscription Management GUI Flow
When you use the subscription GUI, you subscribe to Event topics one at a time. For each
subscription, you choose the criteria or parameters you want.
Event Notification Flow
Your Event Sync application receives the notification messages and parses the content. Other
applications or processes can re-use the content any way you want.
For information about using the GUI, see Chapter 2.
1. When an Event is triggered that matches the parameters you specified, the notification
is delivered in structured XML format via HTTP on port 80 or HTTPS on port 443 of
the IP address or URL provided in the subscription request. These messages are easily
received like any browser page posted to your Web server, using any good HTTP or
Web server.
2. Upon delivery of every notification, your application or server acknowledges receipt of
every notification message to ENS. Only a normal HTTP acknowledgement is needed.
3. Your Web application can perform any business logic you want to manipulate the
content in the notification message, for example, it can parse the content and either
request additional content using other systems or re-use the content in other ways.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 30
Chapter 2 Using the GUI to Manage
Subscriptions to Event Topics
The subscription management GUI lets you create and manage subscriptions. After you log
in, the main default view lists Event topics that you can choose. After choosing an Event
topic, a related screen is displayed where you choose parameters for the subscription you are
creating. After you create a subscription, the default view displays a summary of your active
subscriptions.
Logging In
In a browser window, type one the following URLs to display the login screen.
https://cert.eventnotification.sabre.com
https://eventnotification.sabre.com
Figure 9. Login Screen
Type the machine to machine user ID, password, and PCC that you activated for ENS.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 31
If your credentials cannot be authenticated, a popup error message will display. The login
screen will indicate authentication has failed when the “OK” button is pressed
Figure 10. Failed Login Screen
After logging on, the Event Notification Services application screen is displayed, as shown
in 10. The Logout button and Settings button for account configuration are in the middle of
the screen, and the Event topics are listed below them. Subscriptions are not displayed below
the Event topics until they are created.
Figure 11. Manage Event Subscriptions – Main Screen without Subscriptions
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 32
Tip: Refresh reloads data from the server. This is especially useful if two people using
the same account and PCC are making changes, or if you have two servers. It lets you
load the latest updates.
First, configure your account, as shown in the following topic.
Configuring Your Contact Information
These settings apply to the PCC that the subscribing entity activated for ENS.
Note: All subscribing entities are required to manage their contact information here,
even if they use the subscription Web services to manage their subscriptions.
1. Click on Settings.
This displays the Account Settings screen, shown in Figure 11.
Figure 12. Account Settings Screen
2. Using the following information, complete the fields:
Customer ID: This is the IPCC associated with your account and cannot be
modified.
Customer Name: The Customer name as entered in the order and cannot be
modified.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 33
Email Address: Enter an email address where you can be contacted, for purposes
other than sending outage email notifications.
Outage Notification Email: Enter the email address where outage notifications will
be sent for failed deliveries and endpoints.
Phone Number: Enter the telephone number where you can be contacted, if needed.
3. Once complete, click . This saves your entries and refreshes the screen.
Last modified displays the most recent date-time stamp when the account settings were
updated.
4. To return to the Manage Event Subscriptions screen, click .
Figure 13. Manage Event Subscriptions Screen
This screen lists the Event topics you can subscribe to:
PNR Change Notifications
Queue Event Notifications
Sabre Profiles Event Notifications
If subscriptions have been created, the expiration dates and other parameters are listed below
the Event topic, with the View/Edit and Unsubscribe buttons adjacent to them.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 34
Subscribing to PNR Change Notifications
When you create a subscription, ENS pushes notifications to the URL of your choice
whenever PNR change Event is triggered for the PCC parameters you chose.
ENS will push notifications to the URL from the start date and time until the expiration date
is met, or until you cancel the subscription.
You can create multiple subscriptions to the same Event topic, but each subscription must
have unique parameters, for example, you can choose different PCCs, subscription dates, or
URLs.
1. Next to PNR Change Notifications, click . The PNR Change
Notifications section is displayed, as shown in Figure 13.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 35
Figure 14. PNR Change Subscription Section
2. Choose parameters for this subscription using the following information.
Subscription Title
An optional field that allows you to assign a name to your
subscription Start Subscription Date / 24 Hour Time
Choose the date to begin the subscription. Type the time
in 24-hour format. Note that it is U.S. Central time. End Subscription Date / 24 Hour Time Choose the expiration date of the subscription. Type the
time in 24-hour format. Note that it is U.S. Central time. Subscription Receiving URL Type the URL or IP address where you want the
notifications for this subscription to be delivered and
select . This can be the URL of your
choice, secured or unsecured.
Only 1 URL can be entered. Authorized Filters
The Authorized Filter list is populated with the PCCs
requested during order placement.
If you are creating multiple subscriptions to manage your
list of PCCs, the On Demand Authorized Filter feature
will assist in preventing subscription duplications. Any
PCCs included in one subscription with a specific URL,
will not display during the creation of a second
subscription with the same URL.
Choose the PCCs for change notifications, and click
button. Consolidated Notifications Management
Allows you to manage your PNR notifications by number
of messages and/or frequency of messages. Notification Filters
To request PNR filtering, click on Notification Filters,
and then click on Enable. All fields are selected for
monitoring by default. Uncheck the fields that should not
be monitored for activity.
Tip: To cancel your changes without saving, click .
As shown below the Authorized List will not be shown until the “Validate URL” button is
clicked.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 36
Figure 15. Before Validate URL button is pressed
3. Click to validate your URL is responding with the correct HTTP Response
Code, see Requirements for Event Sync on page 17.
a. If the URL is valid and responding with the correct HTTP Response Code, the
following message is displayed:
b. If the URL responds with the wrong response code or is the URL is not active and listening
for connections, the following message is displayed:
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 37
c. If the URL contains a port number, the following message is displayed:
4. After the URL has been validated, the button is enabled. Click
to complete the subscription setup.
Figure
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 38
Clicking on Subscribe hides the subscription configuration section of the screen, and lists the
subscription’s parameters, as shown in Figure 16.
Figure 16. Subscription Added to PNR Change Notifications
5. If Subscribe button is clicked again to set up a second subscription with the SAME
URL, already associated PCC (0K2B) will not be displayed in Authorized filters list
once the Validate URL button is clicked.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 39
Subscribing to Queue Event Notifications
When you create a subscription, ENS pushes notifications to the URL of your choice
whenever PNR change Event is triggered for the Queue parameters you chose.
ENS will push notifications to the URL from the start date and time until the expiration date
is met, or until you cancel the subscription.
You can create multiple subscriptions to the same Event topic, but each subscription must
have unique parameters, for example, you can choose different Queues, subscription dates, or
URLs.
1. Next to Queue Event Notifications, click .
The Queue Event Notifications section is displayed, as shown in Figure 17.
Figure 17. Queue Event Subscription Section
2. Choose parameters for this subscription using the following information.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 40
Subscription Title
An optional field that allows you to assign a name to your
subscription Start Subscription Date / 24 Hour Time Choose the date to begin the subscription. Type the time
in 24-hour format. Note that it is U.S. Central time. End Subscription Date / 24 Hour Time Choose the expiration date of the subscription. Type the
time in 24-hour format. Note that it is U.S. Central time. Subscription Receiving URL Type the URL or IP address where you want the
notifications for this subscription to be delivered. This
can be the URL of your choice, secured or unsecured.
Only 1 URL can be entered. Authorized Filters
The Authorized Filter list is populated with the Queue
Numbers requested during order placement.
If you are creating multiple subscriptions to manage your
list of Queue Numbers, an on demand Authorized Filter
feature will assist in preventing subscription
duplications. Any Queue Numbers included in one
subscription with a specific URL, will not display during
the creation of a second subscription with the same URL.
Choose the Queues for the Queue Event notifications you
want delivered, and click .
Tip: To cancel your changes without saving, click .
As shown below the Authorized list will not be shown until “Validate URL” button is
clicked.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 41
3. Click to validate your URL is responding with the correct HTTP
Response Code, see Requirements for Event Sync on page 17.
a. If the URL is valid and responding with the correct HTTP Response Code, the
following message is displayed:
b. If the URL responds with the wrong response code or is the URL is not active and listening
for connections, the following message is displayed:
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 42
c. If the URL contains a port number, the following message is displayed:
4. After the URL has been validated, is enabled. Click to
complete the subscription setup.
Clicking on Subscribe hides the subscription section of the screen, and displays the new
subscription’s parameters, as shown in Figure 18.
Figure 18. Subscription Added to Queue Event Notifications
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 43
5. If Subscribe button is clicked again to set up a second subscription with the SAME
URL, already associated PCC (00PA.050) will not be displayed in Authorized filters
list once the Validate URL button is clicked.
Subscribing to Sabre Profile Event Notifications
When you create a subscription, ENS pushes notifications to the URL of your choice
whenever Sabre Profile Events are triggered for the Profile parameters you chose.
ENS will push notifications to the URL from the start date and time until the expiration date
is met, or until you cancel the subscription.
You can create multiple subscriptions to the same Event topic, but each subscription must
have unique parameters, for example, you can choose different Queues, subscription dates, or
URLs.
1. Next to Sabre Profiles Event Notifications, click .
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 44
The Sabre Profiles Event Notifications section is displayed, as shown in Figure 17.
Figure 19. Sabre Profiles Event Subscription Section
2. Choose parameters for this subscription using the following information.
Subscription Title
An optional field that allows you to assign a name to your
subscription Start Subscription Date / 24 Hour Time
Choose the date to begin the subscription. Type the time
in 24-hour format. Note that it is U.S. Central time. End Subscription Date / 24 Hour Time
Choose the expiration date of the subscription. Type the
time in 24-hour format. Note that it is U.S. Central time. Subscription Receiving URL
Type the URL or IP address where you want the
notifications for this subscription to be delivered. This
can be the URL of your choice, secured or unsecured.
Only 1 URL can be entered. Authorized Filters
The Authorized Filter list is populated with the Profile
PCC requested during order placement.
If you are creating multiple subscriptions to manage your
list of Profile PCCs, an on demand Authorized Filter
feature will assist in preventing subscription
duplications. Any Profile PCCs included in one
subscription with a specific URL, will not display during
the creation of a second subscription with the same URL.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 45
Choose the PCC for the Sabre Profiles Event notifications
you want delivered, and click .
Tip: To cancel your changes without saving, click .
As shown below the Authorized List will not be shown until the “Validate URL” button is
clicked.
3. Click to validate your URL is responding with the correct HTTP
Response Code, see page 27.
a. If the URL is valid and responding with the correct HTTP Response Code, the
following message is displayed:
b. If the URL responds with the wrong response code or is the URL is not active and listening
for connections, the following message is displayed:
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 46
c. If the URL contains a port number, the following message is displayed:
4. After the URL has been validated, is enabled, click to
complete the subscription setup.
Clicking on Subscribe hides the subscription section of the screen, and displays the new
subscription’s parameters, as shown in Figure 18.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 47
Figure 20. Subscription Added to Queue Event Notifications
5. If Subscribe button is clicked again to set up a second subscription with the SAME URL,
already associated Profile PCC (A2FE) will not be displayed in Authorized filters list once
the Validate URL button is clicked.
Creating Multiple Subscriptions to a Single Event Topic
If you want to choose different sets of subscription parameters for a single Event topic, you
must create two subscriptions, and choose unique parameters for each subscription, for
example, you can create two subscriptions for PNR Information, and choose subscription
dates, or URLs for each subscription.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 48
To create a new subscription, click on next to the desired Event topic, as
shown below.
Complete the steps for adding new subscriptions, illustrated in the previous topics.
Modifying or Renewing a Subscription
If you have already created one or more subscriptions, the subscription parameters appear on
the Main Subscription Event screen below the Event topics, as shown in Figure 21.
Figure 21. Choosing a Subscription to Modify
1. To renew or otherwise modify a subscription, click on next to the
subscription you want to change.
2. When the subscription parameters are displayed, make any changes you want, provided
that the parameters are unique.
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 49
Figure 22. Modifying a Subscription
In this example, the expiration date has been changed.
Tip: To cancel your changes without saving, click .
3. If changes are made to the URL, the is disabled until the URL changes are
validated by selecting
4. When you are done, click .
The Manage Subscription Event main screen displays the modified parameters.
Canceling a Subscription
You can cancel a subscription whenever you want without waiting for the subscription to
expire.
1. Next to the subscription you want to cancel, click on .
Figure 23. Choosing a Subscription for Cancelation
The subscription is displayed on the lower portion of the screen. Near the bottom, you are
prompted to confirm the cancelation, as shown in Figure 24.
Figure 24. Canceling a Subscription
Chapter 2 Using the GUI to Manage Subscriptions to Event Topics
Sabre Event Notification Services: Developer’s Guide to Getting Started 50
2. To cancel, click on .
Notice that the PNR subscription is removed from the Event topic.
Figure 25. Canceled Subscription Removed from the Screen
Tip: To retain the subscription without canceling, click on . The
confirmation question is removed and the screen is refreshed without canceling the
subscription.
Sabre Event Notification Services: Developer’s Guide to Getting Started 51
Appendix A SOAP Faults and System Errors
When ENS cannot process a request successfully, client errors are returned to the endpoint as
SOAP faults in the SOAP Body of the SOAP Envelope. An example of the format is shown
in Figure 26.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>WSE.AuthorizationFailed</faultcode>
<detail>
<ErrorCode>10044</ErrorCode>
<ErrorID>1184792966907-955213</ErrorID>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Figure 26. SOAP Fault Message Format
The message includes the following error-related elements:
<faultcode> returns faults.
<faultstring> returns an accompanying description of the fault code.
<ErrorCode> and <ErrorID> indicate internal errors. ErrorID is a unique ID that
corresponds to the exception. Please provide technical support with values for both of
these elements.
A partial list of faults is shown in the following table.
<faultcode> and <faultstring> Reason
<faultcode>WSE.AuthorizationFaile
d</faultcode> The security credentials provided are any of
the following:
Invalid
Appendix A
Sabre Event Notification Services: Developer’s Guide to Getting Started 52
Not authorized to subscribe to the specified
topic
Not authorized to use the selected
subscription parameters
<faultcode>Duplicate.Subscription
</faultcode>
<faultstring>Subscription already
exists</faultstring>
A subscription with the same parameters,
(event topic, dates, parameters, and Event
Sync URL) is already present.
<faultcode>Invalid.Request</fault
code>
<faultstring>Incoming SOAP
Request is not
valid</faultstring>
The SOAP message has missing or invalid
parameters. The data format is incorrect.
<faultcode>Invalid.Subscription.I
dentifier</faultcode> The subscription identifier passed in the
SOAP message request is invalid.
<faultcode>Invalid.Customer.Ident
ifier</faultcode> The value passed in <MySubscription> is
not authorized to use ENS.
<faultcode>Throttle.Error</faultc
ode> Event Notification Services Subscription
Manager is at its peak value.
An example of a SOAP message with a fault response is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope
xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/>
<soap-env:Header/>
<soap-env:Body>
<soap-env:Fault>
<faultcode>>soap-env:Duplicate.Subscription</faultcode>
<faultstring>>Subscription already exists</faultstring>
<detail>
<StackTrace>errors.general.DUPLICATE_SUBSCRIPTION</StackTrace>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>
Figure 27. Error Format for a Duplicate Subscription
StackTrace Errors
If you receive a StackTrace similar to the following example, verify that the SOAP request
and parameters are correct, and send the request again. If the errors continue, provide the
SOAP request you are sending and the faultcode, including StackTrace, to Technical Support.
<?xml version="1.0" encoding="UTF-8"?>
Appendix A
Sabre Event Notification Services: Developer’s Guide to Getting Started 53
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Invalid.Request</faultcode>
<faultstring>Incoming SOAP Request is not valid</faultstring>
<faultactor>UNREADABLE_MESSAGE</faultactor>
<detail>
<StackTrace>errors.general.INVALID_SOAP_REQUEST</StackTrace>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Sabre Event Notification Services: Developer’s Guide to Getting Started 55
Appendix B Outage Email Notifications
ENS sends outage email notifications to administrators of the subscribing organization when
it is unable to deliver notifications.
The outage email notifications contain the following information:
The endpoint where the outage occurred
The PCC and event topic
The time when the notification was sent
Examples of the notifications are shown below.
For more information about failed endpoints and outage email, see page Error! Bookmark
not defined. in Chapter 1.
Examples of Outage Email Notifications
Example 1: Delivery Outage Notification
Subject: >>>ENS Delivery Outage Notification<<<
The Event Notification Service is unable to deliver notifications to the
following end point
Endpoint URL: https://www.test.com/wse_event_sync
Following Queue messages are undelivered since last notification
Queue UniqueId Time
XXXX.244 ABCDEF 2016-01-17 03:06:00.178
XXXX.244 GHIJKL 2016-01-17 05:23:42.060
Notification topic: WSE.QUEUE.PSS.SABREQUEUE
Number of undelivered notifications: 198
Figure 28. Delivery Outage Notification
Appendix B
Sabre Event Notification Services: Developer’s Guide to Getting Started 56
Example 2: Failed Endpoint Notification
Subject: >>>ENS Endpoint Outage Notification<<<
The Event Notification Service is unable to deliver notifications to the
following end point
Endpoint URL: https://www.test.com/wse_event_sync
Following PCC messages are undelivered since last notification
PCC PNR Time
XXXX ABCDEF 2016-01-18 04:48:32.646
XXXX GEHIJL 2016-01-18 04:49:48.929
XXXX MNOPQR 2016-01-18 04:50:05.705
The limit for undelivered notifications has been exceeded!
*** Specified endpoint is marked as failed! ***
Please take appropriate actions immediately to activate the end point.
Figure 29. Outage Notification with Limit for Undelivered Notifications Exceeded
Appendix C
Sabre Event Notification Services: Developer’s Guide to Getting Started 57
Appendix C Obtaining Documents on Sabre Dev
Studio
The document set for ENS consists of the following:
Artifact WSDL
document Schema document
Sample Messages
Description
Sample Java Event Sync
Developer Guide
Obtaining Artifacts for Web Services Versions
You will obtain all artifacts for ENS on Sabre Dev Studio. Log in and search by keyword for
the service or other resource you want, as shown in the following topic.
1. Using the login ID you were provided for Sabre Dev Studio, log in at the following
URL:
https://developer.sabre.com
2. Select Event Notification Services from the Services drop down menu.
Appendix C
Sabre Event Notification Services: Developer’s Guide to Getting Started 58
3. From the APIs menu on the left, expand the Event Notification Services and select
Resources.
4. Click on the Download links to download the ENS Developer Guide, example payload
formats, or sample Java Event Sink application.
Appendix D
Sabre Event Notification Services: Developer’s Guide to Getting Started 59
Appendix D Requesting Re-Delivery of Undelivered Notifications
Customers can request re-delivery of undelivered notifications from the Sabre API Support
Desk by providing the following information.
IPCC and PCC
Requested Activity:
Redelivery of Undelivered Notifications and/or
Report of Undelivered Notifications.
If a report is requested, it will be sent to the Outage Notification Address for the
IPCC.
Specific date or date range for the Undelivered Notifications
Please note that undelivered notifications are only stored for up to 6 months. Once re-delivery
is requested, undelivered notifications are purged from the database.
Appendix E
Sabre Event Notification Services: Developer’s Guide to Getting Started 60
Appendix E How to Contact Technical Support
When contacting technical support, providing the following information will assist technical
support in resolving the problem.
This depends on the problem and the Event topic.
IPCC used to activate ENS
Environment (Certification or Production)
Your Event Sync URL
Date and time when the problem occurred
Description of the error
Screen capture or payload
For PNR changes, the PCC you are monitoring
If you receive a stack trace with an error ID and an ErrorCode, please provide technical
support with both numbers. The ErrorID is a unique ID that corresponds to the exception.
The ErrorCode and ErrorID indicate an internal error.
<soap-env:Fault>
<faultcode>Subcode</faultcode>
<faultstring xml:lang="en">Reason</faultstring>
<detail>
<StackTrace>details</StackTrace>
</detail>
The ID will be intermingled with StackTrace.
Technical Support
You have several ways to obtain technical support. A Pseudo City Code, or PCC, is required.
Important!
Appendix E
Sabre Event Notification Services: Developer’s Guide to Getting Started 61
Please use the telephone when reporting critical or other production issues.
Telephone 24 x 7
59-82-518-6020 (or 800-678-9460 in US or 682-605-5570in CA).
Send email to the following address: webservices.support@sabre.com. Email is
monitored Monday through Friday during extended business hours.
You can also obtain this information on the Sabre Dev Studio by searching for support.
top related