There is an updated version of this article:
SAP recently released a new accelerator for the airline industry named “Travel Accelerator.” Below are my personal insights after examining the product.
Let’s go over the accelerators concept in hybris.
Simply stated, there are three basic layers in hybris: a Platform, an E-commerce Layer, and Accelerators.
“Accelerator” is a high-level foundation for a project-specific solution. Hybris Accelerators are basically working websites which customers can use to build their own solutions. You can extend almost everything with the Accelerator:
So far, the following accelerators are available from SAP:
- B2C/B2B Commerce Accelerator
- B2C/B2B China Commerce Accelerator
- Financial Services Accelerator
- Telco Accelerator
- Travel Accelerator
Thus, there are two main purposes of the accelerators:
Travel Accelerator was introduced by hybris in June 2016. It is already available for download for SAP partners.
Travel Accelerator is a great foundation for creating full-featured booking systems for small and medium-size transport service providers such as public transit companies or airlines.
Travel accelerator: is it for all travel industry?
Travel Accelerator is a great product, but its name is misleading.
In my use of the product, I have found that the tool isn’t designed for travel agencies or tour operators. I personally think that this accelerator is much better suited for budget or low-cost airlines rather than global airline companies. It certainly could be customized to fit everything the client wants, but a lion’s share of customization work will not be leveraged by the product.
|Travel Accelerator is designed for transport service providers rather than travel agencies or tour operators (you wouldn’t guess this from the title).|
Travel Accelerator is a single source of record for tickets (like orders in B2C e-shops). All flight schedule information as well as all possible routes, segments and prices are to be loaded into the system. There is one crucial difference from the solutions used by travel agencies and other intermediaries: Travel Accelerator is not designed to work with GDS or CRS systems, such as Amadeus, Travelport, Sabre or Pegasus. These systems are commonly used by travel agencies. They generally do not provide raw information, while travel accelerator does use this data. For example, airline companies pull this data from the Passenger Service System and Departure Control System. For travel agencies and other “external” companies, this data is not exposed.
|There is no integration with Amadeus, Travelport, Sabre or Pegasus as well as with any other external GDS/CRS systems (you wouldn’t guess this from the title)|
The simplified diagram of the booking process is below.
Customer self-service processes
Travel Accelerator is built on top of hybris Commerce. This allows you to reuse modules from B2C and B2B accelerators (as well as from the commerce platform) in TravelAccelerator-based projects.
According to the design, you will need to define routes, which consist of segments and in turn consist of SOLR-indexable transport offerings (transport schedules/timetables).
|Transport Offerings represent all available timed flights in the calendar. SOLR is used as a power search tool across millions of offerings.|
There are fare products (e.g. tickets), ancillary products (e.g. additional services), and accommodations (e.g. seat groups).
It is interesting that TransportOffering internally extends B2C Warehouse. If you book a ticket, these products are reserved on the “warehouse” which is TransportOffering. In a similar way, the ticket availability is calculated.
There is a hierarchical structure of the available accommodations for the specific vehicle. For example, the number of rooms in the hotel or seats in the aircraft is limited; they have different prices and comfortability levels.
These products have prices which can also depend on routes, segments or transport offerings.
Transport facilities (e.g. airports) are linked to the hierarchical locations (Region->Country->City, e.g. Europe->Germany->Berlin). There are activities, which are basically events, linked to the locations and transport facilities.
Travel Accelerator uses hybris out-of-the-box configurable bundles, functionality represented by configurablebundleservices. Using the bundle template functionality you can create comprehensive product bundles.
There are customers (bookers) and travelers/passengers (ticket holders).
Order items and consignments comprise the products ordered (fare, ancillary, accommodations). Comprehensive checkout is a way to enrich an order, for example, you may want to add ancillary products or specify the data needed for the reservation and price calculation.
There are fare basis rules that govern how and when fares can be used. The powerful rule engine called Drools has already been integrated with hybris and Travel Accelerator leverages this tool. Typical rules may look like:
- A promotional trip must include a Saturday night stay. If there is not a Saturday stayover, this trip will be discarded and removed from the delivered results.
- The number of days between ticket dates should be less than 4 days in order to call the trip “a minimum duration stay.” Some fares require you to stay in your destination a certain amount of time.
|There is no rule builder (similar to the one hybris has for promotions) to create the rules interactively. Rules are text files.|
Stock levels are used in the checkout process to prevent overselling of products (including fare and ancillary).
Check-ins trigger a business process that performs a simple auto-allocation.
There is a trip finder, which is a list of events redirecting you to the right search form with the pre-filled route data.
Travel Accelerator is built around the following components:
- Product-specific features:
- Responsive storefront templates
- Customer area
- Fares & pricing
- Seat Maps
- Check flight status
- Ancillary products
- Derived from accelerator commons:
- SOLR search capabilities
- Cockpits, backoffice apps, assisted service module
- Customers login/registration
- Order management
What is not included in this accelerator
- Search & Navigation:
- No origin and destination open-jaws. The itinerary is covered by a single ticket which involves travel in two geographical directions. The origin is not the same as the final destination or the origin is the same as the final destination but there is a break mid-way.
- No preferred time of day selection in the search form (morning/evening). Can be easily added.
- No age selection in the search form (adults/children/age groups). Can be easily added.
- Airport selection is required. There is no “any airport in the area” search.
- No filters by the number of possible breaks in the journey ( 0 / 1 / 2)
- Flights are only out of the box:
- No out-of-the-box ground transportation support. However, you can add it because the data model has some foundation for it.
- No out-of-the-box accommodation reservation support (hotels, restaurants, leisure centers etc.). In the default package, only transport services are supported for booking. However, the components of the system can be leveraged for these types of booking systems.
- No flexible days search.
- No special algorithms to determine potential routes between the origin and destination location. All routes should be predefined (loaded to hybris from the external source or created in hybris).
- No out-of-the-box rule builder to create the rules interactively (similar to the one that hybris uses for promotions). Rules are text files.
Travel Accelerator and hybris 6.1: technical details
|Travel accelerator needs some changes to work with hybris 6.1. It was designed for 6.0 that is not fully compatible with 6.0.|
Some changes which are needed to be made to make it work with hybris 6.1:
- StorefrontAuthenticationSuccessHandler, new property CartRestorationStrategy:
There is a mandatory property CartRestorationStrategy for StorefrontAuthenticationSuccessHandler that is not defined in Travel Accelerator
- StorefrontAuthenticationSuccessHandler, removed property SessionService:
There is a property named sessionService in Travel Accelerator that is not longer defined in hybris 6.1
- BTG in 6.1. Remove the BTG filters or include the BTG modules.
- DroolsKIEModule: Add the attribute “version” to the impex headers for DroolsKIEModule
- DroolsKIEModule: 6.1 has an optional attribute “active” that is false by default. Add [default=true] in the impex header for DroolsKIEModule
- DroolsRule: Add the attribute “version” to the impex headers for DroolsRule
Also take into account that there is a dependence travelservice->commercesearch that was not declared in extensioninfo.xml. If commercesearch is loaded AFTER travelservice, SearchResponseConvertors returns the wrong type (ProductCategorySearchPageData instead of TransportOfferingSearchPageData), that leads to the ClassCastException. So you need to set the dependency explicitly in extensions.xml.
The data importing process merges the current date with the schedule from the data files. If you run this process in the evening, most or all of flights on the schedule are in the past and Travel Accelerator doesn’t work at that time because of no available flights.