Tính năng của E-Business Platform từ Basel Tourism

Tính năng của E-Business Platform từ Basel Tourism

About Basel - Culture Unlimited

Basel in Switzerland is one of the leading tourism destinations, known for its art and culture. Major events like "Art Basel" and "Basel World" attracts many visitors from around the world. In addition to business and congress tourism, Basel Tourism is also targeting the growing leisure tourism. Online booking of hotels, packages and events is key for Basel Tourism.

Why Drupal was chosen: 
  • Drupal offers great CMS functionality right out of the box. Basel has a big marketing team responsible for creating and managing content, therefore a CMS with a comfortable back-end was a must.
  • The architecture of Drupal is very generic and extendable for any custom need.
  • Because Drupal is open source, we are able to solve almost any problem by diving into the code or communicating with developers through IRC or other channels.

Describe the project (goals, requirements and outcome): 

General Goal

The goal of the project was to build a booking and information portal that provides clean and easy access to all touristic information provided by Basel. Key to the project was providing a seamless process; from finding the information with comfortable search functionality to eventually booking a stay. Another key feature would be a user experience unencumbered by pop-ups and redirects to third party services.

Hotel Booking

To be able to compete against the big international booking platforms, Basel offers unique packages including accommodation, event tickets and other services. In order to provide a powerful booking back end to their clients (hotels) for managing these services (packages, vacancies), Basel chose a sophisticated destination management system provided by Tomas. The booking front end had to display these offers in a user friendly interface with great performance (caching) and SEO.

Faceted Search

Throughout the whole portal, the faceted search functionality would provide clear, intuitive results, no matter if the user was looking for accommodation, a restaurant or an event. The search experience of filtering by any criteria and getting an appropriate result would be consistent, making it extremely easy for a user to navigate through the portal to the desired information.

Ratings - Comments

An important criteria for users to book a hotel are ratings and user comments. Ratings of customers who already visited a hotel should be shown in the search result lists with the ability for users to look for even more information, such as comments, without interrupting the booking flow. This was done by introducing detail tabs, collapsing and paging.

CMS - Back end

Most content, such as events and restaurants, which is aggregated by third-party systems, is created and managed by a team of editors. Therefore it was important to have an easy to use back end to be able to create, manage, filter and tag content of any media (text, images and videos, for example).

Multi-language

Focusing mainly on international customers, the portal offers its content in English, French, German, Italian and Spanish.

Performance

For a convenient search and booking experience, performance is a must. Using Drupal's variety of caching-mechanisms and modules such as Cache Actions allowed to meet these high expectations.

Key modules/theme/distribution used: 

Search API

Search API Denormalized Entity Index

Migrate

Redis

Varnish HTTP Accelerator Integration

Cache Actions

OpenLayers

Geofield

Fivestar

Microdata

Media Browser Plus

Omega

Why these modules/theme/distribution were chosen: 

Drupal Modules

Search API

This is one of the key modules used for providing the faceted search functionality. In the complete module list you can find quite a few Search API modules which make use of this API and are used to meet some special search requirements, such as location-based searching (search_api_spatial) or search_api_denormalized_entity.

Search API Denormalized Entity

An extension to Search API which allows better handling of multi-value fields. This is essential if you want to build something like a date-based search where repeating dates can be used. The module denormalizes the entities to index based on the configured fields and can use the grouping feature of Solr to normalize the data again while searching.

Migrate

Migrate takes care of importing accommodation information for booking and stores it in many different node types such as hotel, room, room-option, review.

Redis

Drupal cache back end for storing key-value pairs.

Varnish

Most HTTP-traffic is directly served out of memory by Varnish, a lightning fast reverse-proxy. This means these requests are not even handled by Apache. The Varnish module basically enables Varnish as a page cache handler.

Cache Actions

To maintain a good hit-rate, it is important to flush only the updated pieces in the cache. We use a very fine granular caching from Panel panes to page caches and varnish. Cache Actions enables us to flush the caches as finely granular as we configure it, from a single display element up to the related page in Varnish.

OpenLayers

This module allows to easily pick a location on a map for any node type to store it in a geofield.

Geofield

This module is used to store our geographic data of hotels, events, restaurants and many other node types.

Fivestar

This module provides a nice widget which is used to display the hotel ratings on the portal.

Microdata

Currently, this module is used for sharing 5-star reviews with Google to be displayed in Rich Snippets. This is just a starting-point. There is a lot more information available on the portal (such as locations and events) which will be used for microdata output step by step.

Media Browser Plus

To be able to manage and categorize all media (images, PDFs) in the back end, Media Browser Plus is an elegant and easy to use solution.

Omega Alpha

Base theme used and extended with a custom theme. The theme takes care of cross-browser compatibility and repetitive theming tasks allowing us to focus on customization.

Other Components

Zurb Orbit Slider (homepage)

The sliding teasers on the homepage are created using the Orbit Slider which is part of the Zurb Foundation front-end framework.

Organizations involved: 

Cando

Team members: 

das-peter

kjauslin

luke_b

chrisbo

Community contributions: 

There has been a commit or patch contributed by Cando on almost every module used in this project.