Sidney is the name of our brand new set of templates. Sidney includes slide shows, animated transitions and many other goodies to impress your users with a professional and elegant web presence. To use Sidney theme just register for a free-trial (if you haven’t an active one), go to the administration area and select Sidney from the Themes menu.

Have a quick look at Sidney preview here: http://www.touristway.com/dmktg/sidneytheme/preview

A modern approach to SEO

Anyone that has spent time trying to improve their click-through rates from search engine results will tell you that Google algorithmically picks the snippet displayed for a given page. TouristWay now integrates microformats to provide search engines with machine-readable data that improve the accuracy of search engine indexing algorithms.

Here’s how Google “reads” a sample TouristWay page: http://www.google.com/webmasters/tools/richsnippets?url=http://www.touristway.com/dmktg/sidneytheme/preview/closeup/

We’ve been listening to your feedback for some time and a better management of suppliers permissions seemed to be on the personal wish list of many of you. Here is what we did so far:

Now you can decide whether your suppliers should be able or not to create new offers to be included in your site’s listings. We’ve added a new preference in the settings menu that lets you do just that.

Before today, any new item had to be created by one Administrator or the Webmaster and assigned to the supplier that was supposed to be responsible for it. Although this option is still the default one you can now let suppliers load as many new offers as they like. Of course you still have to approve anything they create before it’s placed online but in many scenarios this will speed up the relationship with your suppliers and possibly incentive their creativity.

To have your workflow even smoother we also introduced a notification button that suppliers can use to ask you to review and publish their new offers. By the way, in order to “approve” new offers just use the “Activate” link in the product PROFILE (side bar) or the on/off icons in the INVENTORY menu (when you are logged as Administrator or Webmaster)

In addition, we have been limiting supplier’s rights here and there as, also according to your comments, menus like “contracts” should not concern your supplier and in many business models may contain sensible information you don’t really want to disclose.

Say you don’t do accommodation and you provide excursions, training classes and private tours.

You probably use “package” product type to handle these services and you created different families to group them. You’d like to get rid of Accommodation and Cars links and have just 3 items in your navigation bar: Excursions, Classes and Tours (according to your package families).

Assuming you’re using “theValley” theme, it would look something like this:

with the search menu appropriately filtering by the selected family.

First of all switch on TouristWay Workbench (‘templates’ menu), select the box corresponding to the navigation bar (header) and click on the little “wrench” icon to edit the template.

You’ll need a little familiarity with HTML now, but I promise it’s not getting too geeky. The menu is usually created with the <UL> tag and each of its item is an <LI> element, you will easily locate something like this:


<ul id="searchoptions">
    <li><a id="searchformtab-package-listen" href="#">{{packages}}</a><span>»</span></li>
    <li><a id="searchformtab-accommodation-listen" href="#">{{accommodation}}</a><span>»</span></li>
    <li><a id="searchformtab-rental-listen" href="#">{{cars}}</a><span>»</span></li>
    <li><a id="searchformtab-guide-listen" href="#">{{guides}}</a><span>»</span></li>
</ul>

Let’s replace it with your new list, but let me draw your attention on the id attribute of each item (i.e. id=”searchformtab-package-listen”). This name is important because defines the handle used by a piece of Javascript to sense when you click on a specific item and thereby display the related search menu. We will replace ‘-package-’ with our new names ‘-excursions-‘, ‘-classes-‘, ‘-tours-‘.


<ul id="searchoptions">
    <li><a id="searchformtab-excursions-listen" href="#">Excursions</a><span>»</span></li>
    <li><a id="searchformtab-classes-listen" href="#">Classes</a><span>»</span></li>
    <li><a id="searchformtab-tours-listen" href="#">Tours</a><span>»</span></li>
</ul>

Confirm the modification with “PUBLISH” button and go back to your homepage (reload to see changes). You will see a new menu but still not a working one so let’s finish the job, time to work on the search menus.

Select the box corresponding to the search form and click on the “wrench” icon to edit the template.

I mentioned before a piece of Javascript in charge for switching menus, you will find it at the top of the page:


$(document).ready(function()
    {
    switchmenu('%-preference.menu-%');
    $('#searchformtab-accommodation-listen').click(function() { switchmenu('accommodation'); return false; });
    $('#searchformtab-package-listen').click(function() { switchmenu('package'); return false; });
    $('#searchformtab-rental-listen').click(function() { switchmenu('rental'); return false; });
    $('#searchformtab-guide-listen').click(function() { switchmenu('guide'); return false; });
    });

let’s replace it with our new items, I apologize with Jquery Gurus if this Js snippet offends your sense of elegance, we want TW to be for beginners too :-)


$(document).ready(function()
    {
    switchmenu('%-preference.menu-%');
    $('#searchformtab-excursions-listen').click(function() { switchmenu('excursions'); return false; });
    $('#searchformtab-classes-listen').click(function() { switchmenu('classes'); return false; });
    $('#searchformtab-tours-listen').click(function() { switchmenu('tours'); return false; });
    });

Now your TouristWay is able to listen to the new navigation bar, all we need now is to build the right search menus. As we are using families of packages we can certainly take lot of inspiration from the package search form. Go back to the search form template (again “wrench” icon) and find this portion of HTML:


<div class="searchformtab" id="package" style="display:none;">
    <h2>{{searchpackages}}</h2> 
    <form action="%-global.scriptname.search.package-%" class="searchform">
    <INPUT type="hidden" class="hidden" name="catg" value="package">
    <fieldset>
    [...]

We will need to replicate 3 times this piece of code (from <div …> to </div>) for each of our new families. We’ll replace ‘package’ with our new name and add an extra filter in the process.

Here is the code for ‘excursions’:


<div class="searchformtab" id="excursions" style="display:none;">
    <h2>Search your excursion</h2>  
    <form action="%-global.scriptname.search.package-%" class="searchform">
    <INPUT type="hidden" class="hidden" name="catg" value="excursions">
    <INPUT type="hidden" class="hidden" name="tip" value="2KSN4EHDYLJD">
    <fieldset>
    [...]

Note the new id of the main <div …> as well as the new input field. This latter is used to include a filter by family=”excursions” in the search query (if you check the recipient component you will in fact see <family>%-form.tip-%</family>). The code you see in my example will be different for each of you but can be easily found in the LISTS menu of the administration area:

Repeat the same twice more for ‘classes’ and ‘tours’.

You probably want to cleanup a bit and remove all other menus you no longer use (<div class=”searchformtab” …>)

One last thing, decide which menu will be active by default (i.e. excursions) and modify its style attribute like this:


<div class="searchformtab" id="excursions" style="display:block;">

Confirm the modification with “PUBLISH” button and… enjoy your new navigation bar.

- Stefano

I start seeing lot of impressive template customizations, you rock people!

I guess you all Ninja designers agree that SHOWCASE component is TouristWay’s swiss knife when it comes to place contents around. I thought it would make a good idea to collect all the useful articles about showcases we have around and list them here for easier reference.

The must-read to grasp the basics about TW’s architecture is our API quickstart.

This is your Hello World, quick and dirty way to experiment with showcases.

Browse the data tree to find variable names

Create showcases that list a group of relevant products, perfect to highlight special offers

Troubleshoot a showcase that returns empty results

Display your showcase on another website via Ajax

Sorry this new article took me some time, you know… also computer geeks needs to go snowboarding :-)

This is the first of a set of discussion about tweaking TouristWay standard booking wizard to better match the characteristics of specific type of offer and products.

First of all let me point out that, in my opinion, TouristWay’s PACKAGE model is the best way to handle tickets, mini-tours, sightseeings and anything is not strictly accommodation. Don’t get confused by the name, package can be used to create independent single-service products without you having to involve anything else from your catalogue (see also http://support.touristway.com/forums/44926/entries/95482). The plus of packages against TW’s other models is that you can show your users since the search results a set of alternative variants of your offer. Each variant share the same availability but can have pre-selected lenght of the stay and use different pricelists. Example:

  • 1-day / 2-days / 3-days excursions
  • weekend trip / working day trip
  • monday tour / sunday tour

As usual you also have the ROOMS tab which allows you to define one or more “accommodation” options. Again, don’t get confused by the word “rooms”, here you can load as well any alternative treatment your offer includes. Example:

  • 9:00am excursion / 2:00pm excursion / 9:30pm night excursion
  • 20km round / 40km round
  • bus+boat sightseeing / bus only sightseeing
  • private instructor / join a group

The behavior set in our standard templates takes the visitor through 3 steps: select the type of accommodation, select the number of people and their age, display the quotation. This is obtained by calling 3 methods of the component in charge for package reservations. The component is called ‘package’ and receives at each step more and more information (input) until all user preferences (dates,rooms,people,age) get collected and the exact quotation can be calculated and displayed.

Let’s say you sell tickets for a sightseeing or places in your Kiteboarding classes, you probably don’t need to know what’s your customer age as it’s irrelevant for pricing and availability. Our goal will be to remove the 2nd step and skip to the quotation assuming that each unit selected in the first step just represents one person.

Here are the operations we need to complete.

  1. modify the “n. of rooms” listbox to become a “n. of people” listbox
  2. change the method called by the first step of the wizard from ‘arrange’ to ‘select’ in order to jump straight to the quotation
  3. adapt validation rules to send the user to the 1st step (instead of 2nd) if any trouble raise in the once-3rd step.

Switch on your TouristWay Workbench (‘templates’ menu), go to the first step of the reservation (checkinp.cgi, list of alternative rooms/accommodations) and tap into the component XML configuration by clicking ‘page: edit’ in the workbench box.

Locate the component “package” and remove its method ‘arrange’ we no longer need:


<components>
    <component id="package" class="package">
        [...]

        <action id="arrange">
            [...]
        </action>

        [...]

You now remain only with the standard attributes plus the method ‘select’. To make sure that, in case of validation errors, the ‘select’ method correctly send the user back to the default method (and not ‘arrange’ as previously), let’s modify the redirection rules from:


<validation>
    <notify class="any">
        <onfailure>SWITCHCALL:do=package.arrange,....</onfailure>
        <onsuccess>REDIRECT:%-global.scriptname.booking-%</onsuccess>
        <aftercomponent>1</aftercomponent>
    </notify>
</validation>

to this slightly different one that calls the default method (do=) in case of troubles:


<validation>
    <notify class="any">
        <onfailure>SWITCHCALL:do=</onfailure>
        <onsuccess>REDIRECT:%-global.scriptname.booking-%</onsuccess>
        <aftercomponent>1</aftercomponent>
    </notify>
</validation>

Confirm your modification with “PUBLISH” button and that’s all about the XML part.

Now, note the attribute <selfares>, this is the element that receives all the information about the selected number of rooms, people and their age. The next step will be about adapting the listbox to send all these details to <selfares> in one shot thereby skipping the 2nd step.

As listbox are part of the HTML template let’s go right in (workbench ON!) by selecting the component that draws the availability planner. Click anywhere on the planner and use the link “template: edit” in the workbench box.

Find the part that displays the list of alternative accommodations, we need the <SELECT> tag that displays the listbox:


<SELECT name="selunits[].req">
    <%SNIPPET lboxnumeric 0,%-fare.unitbreakdown.availability.nbookable-%,0/>
</SELECT>

All we need to do here is add the information that allows our package component to figure our the number of people (1 per room/unit)


<INPUT TYPE="hidden" class="hidden" name="selunits[].paxplan.b0" value="1">
<SELECT name="selunits[].req">
    <%SNIPPET lboxnumeric 0,%-fare.unitbreakdown.availability.nbookable-%,0/>
</SELECT>

The first INPUT tag does the trick by forcing in the pax plan 1 person in the class b0 (=adults).

Last but most important, we need to switch the method called by this template from ‘arrange’ to ‘select’. This job is up to the buttons at the bottom of this same template, the HTML should look like:


<INPUT type="submit" class="button" onclick="document.getElementById('action').value='package.arrange,pickplan.arrange,pickextra.arrange,pickspecial.arrange';" value="{{proceed}}">

Just replace the whole list of ‘arrange’ with just one ‘package.select’.


<INPUT type="submit" class="button" onclick="document.getElementById('action').value='package.select';" value="{{proceed}}">

Confirm the modification with “PUBLISH” button and you are ready to test your 1-click wizard.

- Stefano

We designed TouristWay with customizations in mind, knowing that if you want to go out there with a kick-ass online booking business you actually need the tools to make it just the way you envision it.

Yet some of you are not so comfortable with HTML or just don’t believe they should get trapped in some geeky stuff instead of focusing on taking their new business off the ground.

We’ll be working to make things easier and easier but in the meantime we arranged a weekly slot of hours to dedicate to your own customizations. In other words you can now hire TouristWay developers to adjust your TouristWay or build elements you need.

This probably shouldn’t be your first option as we created TouristWay to put you in control, but we understand there are reasons why you may prefer not to. In this case FineTuning may work for you.

TouristWay FineTuning is a prepaid package of development-time. It costs 1890 USD and includes 5 vouchers you can use for pretty much anything can be done on your TouristWay.

  1. you send us a brief description of your request through the usual helpdesk form/email
  2. Since time for customizations varies according to their complexity, we will let you know how many vouchers you are going to need in order to get your request done.
  3. You can then accept or decline
  4. If you accept, we proceed with the implementation and install it on your TouristWay
  5. You have now 1 week to review the modifications and let us know if we missed anything.

That’s it! For any question, just fill in our form at http://www.touristway.com/contact

- Andrea

…here you go. There’s an awesome widget spreading around, it’s been picked up by thousands of blogs and news sites and, of course, TouristWay allows you to place it right in your booking site too!

The application is called Disqus, is free, and describes itself as “Comment system and moderation for your website”. This article is a step-by-step guide to integrate Disqus comment system in your product-details page to let your customer share their thoughts and interact with you.

  • First step go to http://disqus.com/comments/register/ and register for free to Disqus. Make sure you provide the right url of your site (ie. http://websafari.touristwayapp.com) to allow Disqus to track comments appropriately.

  • Then pick from the list of Install Instructions the UNIVERSAL CODE. You will jump to a new page, leave it open, we’ll use it in a minute.

  • Now go to your TouristWay, switch on the Workbench and pick the page where you want to place the comment system. For example the Travel Guide Closeup. Click EDIT beside the PAGE line to edit the related template

  • Go back to the page on Disqus site and copy the first piece of code

  • Then paste it in TouristWay template as in this screenshot (anywhere before the “EndEditable” line should be fine). Repeat for the second code snippet too.

  • Click PUBLISH to save this modifications, switch off the WORKBENCH and go back to the guides page to see what you got.

Don’t forget to check www.disqus.com website to configure your moderation policies and manage your comments (you can approve, disapprove, filter spam, etc.).

Let the social madness begin :-)

Cheers!

- Stefano

TouristWay is quite an extensive piece of software and catching our view with a cocktail-party definition turns tricky sometime. Video communicates much better so we’ve put together this home-made cartoon to pass you our vision of a world where innovative products, best prices and original travel ideas can successfully take over.

Enjoy the movie… and we are looking forward to read your comments!

-Stefano

I had a nice conversation with Dorota of TripAdvisor last week and she introduced me to this great feature that we can use to display property reviews in your website.

So here is how it works:

First let’s place the tiny piece of code that work as placeholder for TripAdvisor reviews. Switch on your TouristWay Workbench (‘templates’ menu), go to the hotel details (closeup.cgi) and tap into the template code.

You can put this code anywhere in the template:

%-product.leaflet3--chunk=reviews-%

You’ll need to do this part just once.

Then, let’s get TripAdvisor’s snippet; unlike the previous part, you will have to repeat the following steps for each product you want to have review features:

1) Go to http://www.tripadvisor.co.uk/Owners

2) Search for one of your Hotel or activity

3) click “Get this widget”

4) configure the widget at your convenience and copy the resulting html code

5) paste the HTML in the DETAILS tab of the DESCRIPTIONS menu of your Hotel.
IMPORTANT! in the text area, right before TripAdvisor code, add the following prefix:

==reviews==

6) click on PREVIEW and you should see your new reviews!

TripAdvisor has the largest database of user reviews out there, and traveler love to be reassured by positive reviews.

- Stefano

We just rolled out a couple of brand new sets of templates for your reservation site: we named the first “New York” and the second one “The Valley”. I will spare you the details of the decision process but I can tell you no alcohol or drugs were involved.

Beside the nifty graphic we’ve included a nice gadget in the search results and closeup pages. Your users will be free to share links to your super-awesome products directly from your site with just a few clicks: Twitter, Facebook, Delicio.us and tons of other social stuff are supported.

Naturally, as usual, you can customize these new templates too down to the single tag!