METHOD AND APPARATUS FOR PROVIDING SERVICES TO PARTNERS AND THIRD PARTY WEB DEVELOPERS

A system, method, apparatus and computer program product are provided in accordance with an example embodiment in order to provide a collection of services in a cloud environment that may be utilized by partners and web developers to build innovative travel applications. An example method may comprise providing a plurality of application user interfaces (APIs) allowing development of an application, each of the plurality of APIs being classified as at least one of an informational service, a transactional service, or an intelligence service, each informational service comprising static content, each transactional service configured for at least one of booking, shopping, or fulfillment transactions, and each intelligence service comprising contextual performance metrics derived from at least one of shopping data or transactional data.

DETAILED DESCRIPTION

As defined herein, a “computer-readable storage medium,” which refers to a non-transitory physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.

Any reference to “Sabre” herein may include a system, method, apparatus or computer program product provided in accordance with an example embodiment in order to provide a collection of services in a cloud environment that may be utilized by partners and web developers to build innovative travel applications.

Example Architecture

Referring now ofFIG. 1, a system that supports communication, either wirelessly or via a wireline, between a computing device10and a server12or other network entity (hereinafter generically referenced as a “server”) is illustrated. As shown, the computing device and the server may be in communication via a network14, such as a wide area network, such as a cellular network or the Internet or a local area network. However, the computing device and the server may be in communication in other manners, such as via direct communications between the computing device and the server.

The computing device10may be embodied by a number of different devices including mobile computing devices, such as a personal digital assistant (PDA), mobile telephone, smartphone, laptop computer, tablet computer, or any combination of the aforementioned, and other types of voice and text communications systems. Alternatively, the computing device may be a fixed computing device, such as a personal computer, a computer workstation or the like. The server12may also be embodied by a computing device and, in one embodiment, is embodied by a web server. Additionally, while the system ofFIG. 1depicts a single server, the server may be comprised of a plurality of servers which may collaborate to support browsing activity conducted by the computing device.

Regardless of the type of device that embodies the computing device10, the computing device may include or be associated with an apparatus20as shown inFIG. 2. In this regard, the apparatus may include or otherwise be in communication with a processor22, a memory device24, a communication interface26and a user interface28. As such, in some embodiments, although devices or elements are shown as being in communication with each other, hereinafter such devices or elements should be considered to be capable of being embodied within the same device or element and thus, devices or elements shown in communication should be understood to alternatively be portions of the same device or element.

Meanwhile, the communication interface26may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data between the computing device10and a server12. In this regard, the communication interface26may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications wirelessly. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). For example, the communications interface may be configured to communicate wirelessly with the head mounted displays10, such as via Wi-Fi, Bluetooth or other wireless communications techniques. In some instances, the communication interface may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms. For example, the communication interface may be configured to communicate via wired communication with other components of the computing device.

The user interface28may be in communication with the processor22, such as the user interface circuitry, to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms. In some embodiments, a display may refer to display on a screen, on a wall, on glasses (e.g., near-eye-display), in the air, etc. The user interface may also be in communication with the memory24and/or the communication interface26, such as via a bus.

FIG. 3is block diagram showing one example of a cloud computing system.FIG. 3shows computing devices10a,10b, and10nthat may be coupled to a cloud computing system310via a network14. Network14may be the Internet. Network14may instead be any other network, e.g., a public/private network or a wireless network. Computing devices10a,10b, and10ndepicted inFIG. 3may be a mobile communication device, such as a cellular phone. Although not shown inFIG. 3, computing devices10a,10b, and10nmay be any computing device configured to communicate over a network, for example a desktop computer, a laptop computer, tablet computer, a television, or any other device configured to communicate information via network14, whether the device's primary purpose is network-based communication or not. Further, computing devices10a,10b, and10nmay be coupled to network14by any number of known mechanisms for network communications, for example wired connections (e.g., Ethernet) or wireless connections (e.g., Wi-Fi, cellular) to network14.

As depicted inFIG. 3, computing devices10a,10b, and10nare coupled to a cloud computing system310via network14. In order to access information accessible from could cloud computing system310, a browser application may run on computing devices10a,10b, and10n. Browser may be configured to run within a local operating system of computing device10. Non-limiting examples of known browser applications include Microsoft Explorer™, Apple Safari™, Mozilla™, Firefox™ and Google Chrome™ browser. Non-limiting examples of known operating systems for desktop and/or laptop computers may include Microsoft Vista™, Apple Snow Leopard™, or Linux. Examples of known operating systems for mobile devices (e.g., smartphones, netbooks, etc.) include Microsoft Windows Mobile®, Apple Iphone OS®, and Google Android™ mobile technology platform.

Browser may enable a user to manipulate access to information accessible via network14. For example, browser may provide a user with an ability to enter one or more uniform resource indicators (URIs, e.g., www.google.com) in order to access a web application, such as, for example, a hypertext markup language (HTML) document. A web application, and/or information used by a web application, may be stored on Cloud computing system310. Browser may be configured to access web applications and/or other information stored on cloud computing system310for presentation of visual information to a user of computing device10, among other uses.

The system300includes computing devices10a,10b, and10nconnected to a network14such as, for example, a Transport Control Protocol/Internet Protocol (TCP/IP) network (e.g., the Internet.) The computing devices10a,10b, and10nare coupled to the cloud computing system310. Depending on the type of cloud service provided, a computing device10may connect to one of three service endpoints, each of which give varying amounts of control relative to the provisioning of resources within the cloud computing system310. For example, PaaS320will typically give an abstract Application Programming Interface (API) that allows developers to declaratively request or command the backend storage, computation, and scaling resources provided by the cloud, without giving exact control to the user. IaaS330will typically provide the ability to directly request the provisioning of resources, such as computation units (typically virtual machines), software-defined or software-controlled network elements like routers, switches, domain name servers, etc., file or object storage facilities, authorization services, database services, queue services and endpoints, etc. SaaS340will typically only give information and access relative to the application running on the cloud storage system, and the scaling and processing aspects of the cloud computing system will be obscured from the user.

Furthermore, a cloud computing system310may have an internal network350not visible to the outside that connect to system components360. System components may include a memory system including system memory and user memory, processor(s), routers, switches, a message passing system, one or more service controllers, a system controller, etc. The internal network350may be encrypted or authenticated and in various embodiments, one or more parts of the cloud computing system310may be disposed on a single host.

Cloud APIs are application programming interfaces (APIs) used to build applications in the cloud computing market. Cloud APIs allow software to request data and computations from one or more services through a direct or indirect interface. Cloud APIs most commonly expose their features via representational state transfer (REST) and/or Simple Object Access Protocol (SOAP). Vendor specific and cross-platform interfaces are available for specific functions. Cross-platform interfaces have the advantage of allowing applications to access services from multiple providers without rewriting, but may have less functionality or other limitations versus vendor-specific solutions. Cloud APIs may be segmented into infrastructure, service and application clusters. Service APIs provide an interface into a specific capability provided by a service explicitly created to enable that capability. Database, messaging, web portals, mapping, e-commerce and storage are all examples of service APIs. These services may be referred to as platform as a service (PaaS).

Platform as a service (PaaS) is a category of cloud computing services that provide a computing platform and a solution stack as a service. Along with Application as a Service (SaaS) and Infrastructure as a Service (IaaS), it is a service model of cloud computing. In this model, the consumer creates the software using tools and/or libraries from the provider. The consumer also controls software deployment and configuration settings. The provider provides the networks, servers, storage and other services. PaaS offerings may also include facilities for application design, application development, testing and deployment as well as services such as team collaboration, web service integration and marshaling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services are generally provisioned as an integrated solution over the web.

Example Services

In some embodiments, a system, method, apparatus and computer program product may be provided in accordance with an example embodiment in order to provide a collection of services in a cloud environment that may be utilized by partners and web developers to build innovative travel applications. In some embodiments, a system, method, apparatus and computer program product may provide a plurality of application user interfaces (APIs) allowing development of an application, each of the plurality of APIs being classified as at least one of an informational service, a transactional service, or an intelligence service.

FIG. 4shows a table showing a summary of RESTful APIs. In one embodiment of the present invention a comprehensive set of services across multiple lines of business (LOB) are delivered to enable partners/third party developers to develop an application quickly. The services may be OTA 2.x/JSON compliant and be REST APIs. In one embodiment, transactions with the exception of booking and ticketing may have a global/worldwide response time of less than 300 ms by deploying the services in a distributed cloud environment with replication. In another embodiment, UC rates for air may be better than competitor UC rates, e.g. Google Flights™ by an order of magnitude. Providing services that introduce key differentiators against competitors that they cannot replicate is achieved by utilizing unique data. For example, decision support services and metrics derived from booking, ticketing and shopping data.

As shown inFIG. 4, the services can be broadly classified as (1) informational service; (2) Transactional services; and (3) Intelligence Services. The services may be consumed by third parties and integrated into their own workflows. In one embodiment, the present invention is achieved by providing the services by deployment of simplified Representational State Transfer (REST) application program interfaces (API's) which provides several advantages for business partners.

The information (state) for read requests is identified by the URL of the service. Hence edge-caching may be used to shorten response times. SOAP requests, which may be used by traditional web services, cannot be cached. Hence, by allowing this information to flow forward and be held close to the users, for example an air shopping cache, overall transaction costs may be driven down and consistently fast response times worldwide may be provided.

A modern web programming approach that uses JavaScript Object Notation (JSON) and OTA 2.x standard as interface definition that is designed for computer use, independent of the green screen messages. This enables an experienced web developer to do something cool in a shortened period of time, such as a day, even if they know little about the complexities of travel retailing.

Time to market is a strategic advantage that Sabre's business partners will benefit from by using the REST API's. Developers can get up to speed rapidly by typing in the sample URLs and then displaying the JSON and/or XML documents in a browser. By using dynamic languages (JavaScript, Python, Ruby, etc) they can connect and get something working the first day. In some embodiments, RESTful API's provides for (optional) code on demand. This allows the system to contain a library of reusable code snippets, such as standard ways to display objects (seat maps, flight routes, etc.). There is also a great deal of interest in RESTful API's in the travel industry and the Open Travel Alliance. As a technology leader in travel and transportation, Sabre supports these new standards.

Informational Services

In some embodiments, where a system, method, apparatus and computer program product may provide a plurality of application user interfaces (APIs) allowing development of an application, each of the plurality of APIs being classified as at least one of an informational service, a transactional service, or an intelligence service. Informational services may comprise static content.

For example, in some embodiments, informational services may be static content that can be accessed to build an application. Information services may be used for information regarding any aspect of the travel industry. By way of example, informational services may comprise data on destinations, flights and hotels. Destination content may comprise of curated descriptions of destinations, weather and event calendars. Flight content may comprise airport/airline codes, flight timetables/schedules and fare rules. Hotel content may comprise property descriptions, amenities, hotel reviews, star ratings, neighborhood polygons, etc.

Transactional Services

In some embodiments, where a system, method, apparatus and computer program product may provide a plurality of application user interfaces (APIs) allowing development of an application, each of the plurality of APIs being classified as at least one of an informational service, a transactional service, or an intelligence service, each transactional service configured for at least one of booking, shopping, or fulfillment transactions.

For example, in some embodiments, transactional services may include transactional services related to air and hotels. Transactional services related to air may include air shopping, booking, ticketing, budget shopping, calendar shopping and fare alerts. An Air Shopping Cache may be maintained based on a combination of organic shopping results from OTA's and travel agencies as well as pro-active refresh of the shopping cache based on the algorithm resident in the Cache Controller. The Cache Controller determines when a cache key (origin, destination, departure and return dates by point of sale) needs to be refreshed based on external request arrival rates, organic updates arrival rates and the frequency of fare load transmissions from ATPCO.

Transactional services may further comprise transactional services for Hotels. The transactional services may include hotel shopping, booking and fulfillment. In another embodiment, transactional services may additionally comprise extensions to budget shopping, calendar shopping, and rate alerts.

Intelligence Services

In some embodiments, where a system, method, apparatus and computer program product may provide a plurality of application user interfaces (APIs) allowing development of an application, each of the plurality of APIs being classified as at least one of an informational service, a transactional service, or an intelligence service, each intelligence service may comprise contextual performance metrics derived from at least one of shopping data or transactional data.

In some embodiments, intelligence Services may reflect, for example, decades of development of advanced analytics and decision support capabilities. In some embodiments, the computation of these metrics may be a function of the underlying shopping and transactional data that are included in the system.

In some embodiments, components of the Intelligence Services may include:

Air Fare Forecasting: An advanced fare prediction model may recommend “when to buy” using a machine learning technique called reinforcement learning. The model predicts when fares will go up or down with, for example a high accuracy, and issuing “BUY” or “WAIT” recommendations as appropriate.

True Hotel Competitive Sets: Using, for example, system click stream data, the conditional probability based on the sequence of properties viewed by the customer may be determined. Using this data, hotel competitor sets for a target property may be determined. In one embodiment, the competitor sets may not be symmetric, e.g., property A may be part of the comp set of property B but the opposite may not be true. True hotel comp sets may have been calibrated from the click stream data associated with the Travelocity hotel path.

Contextual Performance Metrics: Contextual performance metrics may be derived from shopping data and transactional data stored or used by the system.

The Air metrics may include one or more of the following: (1) fare range; (2) Value-based Itinerary Scoring (VIS); (3) Itinerary Classification/Natural Language Generation; (4) Connection Scoring; and (5) Customer Profile based Flight Selection

In some embodiments, the fare range for each market and departure date may be based on recent ticketed passenger data. The fare range may be computed from TDW data weekly.

The VIS score may be based on a calibrated choice model that considers the tradeoffs between price and convenience. The choice model inputs for itinerary scoring include departure time, elapsed time and fare. There are implementation challenges for this service as the response time needs to be relatively quick, but the results depend on particular itineraries returned from the air shopping cache. In one embodiment, these values may be computed as the cache is charged and then stored there.

Itinerary classification may segment and describe itineraries that may appeal to different traveler types and may then, in some embodiments, describe one or more particular trade-offs. Like VIS, implementation of these services may require more than a simple look up since the response depends on the entire set of itineraries.

In some embodiments, a connection sharing service may identify ‘tight’ versus ‘loose’ connecting flights to determine the quality of a connecting itinerary. The model behind the service may be calibrated from minimum connect time (MCT) tables for airports together with monthly DOT on-time performance data (RITA).

In some embodiments, a customer profile based Flight Selection service may be utilized. In one embodiment, a shopping service may be provided that returns a set of flights that have been tailored to a specific customer segment (e.g., itineraries that may appeal to families, itineraries that may appeal to the extremely price conscious consumer, etc.). As an example of such a service, a model may be provided that uses customer zip code as a proxy for wealth to better distinguish between price sensitive and time sensitive customers.

The Hotel and Destination metrics may include one or more of the following: (1) Destination Popularity; (2) Rate Range; (3) Customer Profile based Hotel Selection; and (4)

Destination popularity may be determined based on bookings observed in a first source (e.g., Sabre). In another embodiment, a determination may include bookings from a second source (e.g., Travelocity) in order to counter-balance a bias, such as for example, the known “business trip” bias apparent in Sabre GDS data.

Rate Range may determine the rate ranges by season and star rating based on actual stays from booking data (e.g., Sabre Booking data). In some embodiments, as described above, a blend of data (e.g., data from GDS and Travelocity) may be used to make the determination.

Customer profile based hotel selection may be based on using the self-reported demographic data in reviews (e.g., Travelocity hotel reviews) as filter for hotel displays. For example, customer profile hotel selection may use a filter, hotels that are “good for kids” by looking for top rated hotels in reviews tagged as “traveling with kids”.

In another embodiment, all services with the exception of booking and ticketing may be deployed in a cloud environment to ensure fast predictable response times (e.g., less than 300 ms) globally for all transactions (with the exception of Booking and Ticketing). In steady state, Booking and Ticketing Services may continue to go through a data center and ensure PCI compliance.

Regarding air related services, display may comprise air one or more of (1) shopping results (e.g. air shopping results sourced from Sabre's intelliSell Shopping Cache OR a Live Shopping Call) and search specific parameters. Air shopping results may comprise one or more of a single instance, public fares only in the cache (hence no CAT 25, CAT 35, CAT15 fares), identification of thin markets from TDW (about 500-1,000) and proactively charge the cache, organic cache with proactive polling based on age, response time and price jumps, integrated view with a mapping applications, such as GoogleMaps®, MapQuest®, etc., and/or pricing alerts.

Search specific parameters may comprise a look ahead time period (e.g., 0-192 days and/or inclusive of same day shopping), length of Stay (LOS) (e.g., from 0-14 days and/or inclusive of day trips), simple interlines (e.g., AA out and US return), complex interlines, deep linking capability in GUI (e.g., back to Travelocity), ability to group results by origin point (e.g., a user may specify origin and the map populates many destinations with the lowest fare), shopping by via point and alliance affiliation for business travelers, inbound diversity, calendar shopping, integrated display with a mapping application, (e.g GoogleMaps®).

Furthermore, in some embodiments, a system, method, apparatus, or computer program product provided herein may be configured to further display natural language indicators, fare forecasting, and/or key performance indicators. Natural language generation on the shopping results page may be provided. Fare Forecasting (e.g., predicting when fares would go up/down) may also be provided. A recommendation may be provided such as “Buy Now” and/or “Good Time to Buy”. Key performance indicators (e.g., customer centric) may be provided. For example, key performance indicators may comprise one or more of (i) transaction (bookings and ticketed data) based metrics (e.g., available in TDW), (ii) shopping based metrics (e.g., data sourced from TVL Passport), (iii) query based metrics, or, for example, (iv) public data metrics (e.g., from David Pelter's InsideTrip®) integrated with (i), (ii) and (iii) above.

Regarding hotel related services, display may comprise hotel shopping results. The hotel shopping results may be (1) grouped by hotel type by destination, (2) hotel type, (3) individual hotel rate availability and range by hotel type by destination by check-in date or length of stay, (4) weekday rates versus weekend rates availability, (5) integrated hotel results (e.g., Sabre GDS hotel results) with merchant hotels (e.g., TVLY merchant hotels), (6) integrated display with mapping application (e.g., mapquest) and (7) pricing alerts.

In some embodiments, when a hotel is selected, hotel competitor sets may be displayed. This functionality may be integrated with a mapping application such as GoogleMaps and/or Mapquest. In some embodiments, key performance indicators may be displayed. Key performance indicators (e.g., customer centric, not hotel centric) may include one or more of (i) transactions (bookings) based metrics (e.g., available in TDW and/or Passport (TN+TVLY data)), (ii) hotel shopping based metrics (e.g., data sourced from TVL Passport and TN HOD/HOT data), and (iii) Query based metrics.

In another embodiment, package related services may be provided. Package related services may display package shopping results from any of a plurality of sources (i) based on origin and destination of the request, (ii) provided with quotes by package classification (e.g., discount, good, great) with ranges, such as for example a classification may be created based on the hotel star rating (1, 2 star=Discount; 3, 4 star=Good; 5 star=Great), (iii) assuming packages are primarily sourced from TVLY, (iv) integrated to display with a mapping application (e.g. MapQuest), and/or (v) pricing Alerts.

Package related services may further provide that when a package is selected, hotel competitor sets are displayed. In one embodiment, display of hotel competitor sets may be integrated with GoogleMaps® and/or Mapquest® or any mapping application.

Vacation Planning may be provided as a service. A Vacation Planning (or Trip Planning) service may utilize air, hotel, package services and/or activities optimized for a budget on a schedule. The scope may be limited to a specific geographic area (e.g., Florida, California) or may be not limited. The vacation planning service may provide a booking capability. The vacation planning service may comprise a trip optimizer. For example, the vacation planning service may be configured to optimize air, hotel and activities on a predetermined budget and develop a day by day schedule for the duration of the trip.

In alternative embodiments, trips may be limited to a specific period of time or less. In another embodiment, air services may not be required. In some embodiments, the vacation planning service (or any service disclosed herein) may be configured to generate a documents (hard copy or electronic, such as for example, a PDF) of the trip and allow the user to send the pdf to an email address that may be provided.

In another embodiment, an ability to federate shopping results to third parties is provided. Shopping content may be displayed. A relational database for storing Fare Forecasting rules, KPI's, Hotel Comp Sets, etc. may be provided. In some embodiments, each of the services disclosed herein may be provided for use on any mobile platform.

Example Method

FIG. 5shows an example method for providing a comprehensive set of services across multiple lines of business to enable partners and third party developers to develop an application quickly and provide a collection of APIs that partners and third party web developers may utilize to build innovative travel applications.

As shown in block510ofFIG. 4, the apparatus may include means, such as the processor22or the like, for receiving a read request identified by a uniform resource locator associated with an API allowing edge-caching to shorten response times.

As shown in block520ofFIG. 5, the apparatus may include means, such as the processor22or the like, for providing a plurality of application user interfaces (APIs) allowing development of an application. In some embodiments, each of the plurality of APIs may be classified as at least one of an informational service, a transactional service, or an intelligence service. In some embodiments, an informational service may comprise static content. The content, for example, may be curated descriptions of destinations, weather, events, or the like. In some embodiments, a transactional service may be configured to provide at least one of a booking, a shopping, or a fulfillment service.

In some embodiments, a transactional service may be configured to provide booking, shopping or fulfillment services related to one or both of air related services or hotel related services. In some embodiments, a transactional service may be configured to provide a package service including, for example, air and hotel related services.

In some embodiments, an intelligence service may be configured to calculate and/or provide contextual performance metrics derived from at least one of shopping data or transactional data. For example, through the providing of the APIs, data related to the use, and, in some embodiments, data related to the shopping and transactions may be stored. By accessing the shopping and/or transactional data, intelligence services may be configured to calculate particular metrics and utilize the metrics to provide useful information. For example, an air fare range service calculate an air fare range based on ticked passenger data for at least one of a market and departure date. In another example, a fare forecasting service may predict an increase or decrease in a fare and provide a recommendation of whether to buy or wait. For example, based on accumulated data, a fare forecasting service may indicate to a user, who may provide a departure date, location, and the like, to buy a fare at a current rate. In other embodiments however, the fare forecasting service may indicate to a user to wait to buy, when for example, prices may decrease in a particular time period.

In some embodiments, certain ones of the operations above may be modified or further amplified as described below. Moreover, in some embodiments additional optional operations may also be included. It should be appreciated that each of the modifications, optional additions or amplifications below may be included with the operations above either alone or in combination with any others among the features described herein.