Pebble Price Check

Price Check Functionality

Based on what room types you enter into the config file, the widget will search those room types.

SEARCH LOGIC: If you enter a Studio and One Bedroom Apartment, the crawler will search today for the Studio. If the Studio is not available it will search for the One Bedroom Apartment today. If none are available, it will search the Studio tomorrow. If the Studio is not available but the One Bedroom Apartment is then it will display the One Bedroom Apartment rate for tomorrow in both the Booking Engine and OTA sections.

It will only display the One Bedroom Apartment price for the Booking Engine and OTA if there is availability in both. If not, it will search for the next availability across both platforms.

ORDER: It is key that you put the room types in order of cheapest to most expensive in the config file because that is the order it will crawl in.

SEARCH PERIOD: The crawler is set to search for 30 days. If there is no match with Booking Engine and OTA then we will get an email notification. Then we need to look into why this has happened. Often it will be something that the client has changed and the crawler is looking for something that is no longer there. This is our opportunity to reach out to the client and see what changes have been made.

PROMO CODES: If we collect a lot of promo codes from a client but they don’t want to use them all then create a txt file to put them in and put it in the clients folder on the server for later use if necessary.

OTA’s: If the client only has one or two OTA’s just leave the fields in the config file blank. When the crawler is searching the OTA’s, it will always display the cheapest rate on the widget. So if Expedia is cheaper than Booking.com it will display the Expedia price. Then the discount to the clients Booking Engine price will always make sure the discounted rate is cheaper than the cheapest OTA.

EXPEDIA: Its worth noting that during testing on Expedia.com’s site, you need to click “Reserve” and then “Pay Now” on the next screen for it to display the final price including taxes and fees – this price is the one I’m pulling through to Pricecheck, so it’ll usually be a bit higher than the price in AUD you will see by just checking Expedia against the dates you want without trying to reserve a room

Best Rate Feed & Price Check Tool: BRF & PCT share the same config file. You will need to crawl all rooms from the client’s booking engine for the BRF to work. If the client only wants certain rooms active on Price check; Only add the OTAs for said room types.

Booking Engines PPC currently works with

  • The Booking Button
  • TravelClick
  • Hisite
  • Levart
  • Synxis – not currently setup but Jon has confirmed that he can set this up if we need it

Pebble Price Check Details

Link: https://pricecheck.pebbledesign.com/

Server Location: Pebble Clients > Pebble Design > Price Check

Examples: http://www.rumbaresort.com.au/ or http://alexperryhotelandapartments.com.au/

Initial Setup

  • Go in to the clients folder (Pebble Clients > Pebble Design > Price Check > clients) & make sure the files have been
    downloaded so you are working with the latest versions
  • Copy an existing client folder (eg. Alex Perry) and rename to the client you are setting up for (lowercase, dashes instead of spaces) – this will become
    the ID used throughout the Price Check code

Config

In the folder you set up, there will be a config.json file. This file holds all the settings, promo codes, & links for the price check widget.

    • “inactive” – “false” for active price checks, “true” for inactive ones
    • “id” – Change “id” to the folder name you created (the same id used in the code on the test page)
    • “name” -Change “name” to the client’s hotel name (eg. Xanadu Main Beach Resort) Note: make sure this doesn’t have
      any extra characters like “-“, only use plain text.
    • “hotelEmail” – Change this to the client’s email they want used for this widget
    • “widgetPositionClassName” – This is the position the widget will display on the page, either left or right. Just keep it as right unless otherwise specified.
    • “abandonment” – Keep this as yes unless otherwise specified. This says whether the abandonment popup will display
      or not.
    • “booking_engine” – This will specify the booking engine the client uses. It will be one of the following:
      • “levart”
      • “bookingButton”
      • “bookingButtonNew”
      • “hisite”

      If you are not sure whether it’s booking button old or new, it’s best to ask, but you can also have a look at the client’s booking link. An example of old vs. new booking button links can be found below:

    • “send_subscriber_csv_to” – This section has the emails that the subscribers csv will be sent to. There will be some Pebble Design emails listed here initially, make sure to keep these and when sending the Price Check Widget live for the client, add their email to this section.
    • “discount” – This section has the promo codes as specified by the client (what they are, and how many). You will need to update the percent, code, and URL for each one. Example take from Rumba (where XXXXX is the promo code) promo1:
      • “percent”: “2”,“code”: “XXXXX”,

        “URL”: http://www.bookings.rumbaresort.com.au/bookingSearch.html?promoCode=XXXXX

      For any extra promo codes, put them in a .txt created file for the client and save it to the server. An example of this is if they have 5 promo codes, but only want to use 1 in the Price Check.

    • “rooms” – This is where you specify the room types to use in the crawlers, and the exact names for each room type from each OTA and the booking engine. How many rooms types you add will depend on the client. An example of one room type can be found below (example taken from Alex Perry): If you are setting up Price check for the BRF you don’t need to add all OTAs, just the clients booking engine. Add OTA’s for the rooms that need Price Check
      • “hotels.com”:“Business Studio, 1 Queen Bed”,“booking.com”:“Studio”,

        “expedia.com”:“Business Studio, 1 Queen Bed”,

        “bookingButtonNew”:“Studio”,

        “minimum_nights”:1

    • “crawlers” – In this section you will see each OTA being listed. The URLs will be for the client you copied the folder from & need to be updated to the client you’re setting up for.
      • Go to the link for each OTA and search for the client you’re setting up for. There will either be a name or id of some kind that comes up in the url for the client – copy this over, the rest of the URL will stay the same in the config file.
      • “hotels.com”:{“url”: “https://au.hotels.com/hotel/details.html?hotel-id=350081” – this link is for Rumba Resort on Hotels.com. The hotel-id=350081 is what would need to change in this instance.

        },

      • “booking.com:”{“url”: “http://www.booking.com/hotel/au/rumba-beach-resort.en-gb.html” – this link is for Rumba Resort on Booking.com. The rumba-beach-resort.en-gb.html is what would need to change in this instance

        },

      • “expedia.com”:{“url”: “https://www.expedia.com.au/Sunshine-Coast-Hotels-Rumba-Beach-Resort.h3688041.Hotel-Information” – this link is for Rumba Resort on Expedia.com. The Sunshine-Coast-Hotels-Rumba-Beach-Resort.h3688041.Hotel-Information is what would need to change in this instance.

        },

      • The last item under crawlers is the link for the booking engine. The name will be whatever booking engine is used – at the moment it’s either: levart, bookingButtonNew, or bookingButton. Then the link is just the booking engine link for the hotel.

 

Below is all the text that is displayed on Price Check. Most of these will only change if specified, it will generally remain the same for each client.

Please Note: the extrasList WILL need to be changed for each client.

    • “pricecheckTitle”: “Price Check<em> Now! </em>”,
    • “introDescription”: “Always get the best price and experience guaranteed, booking direct with us.”,
    • “priceTitle”: “Loyalty Price”,
    • “extrasList”: [ “Free Unlimited Wi-Fi”, “Free Secure Parking”, “Free drink at Bar26°” ], – Example taken from Rumba, this WILL need
      to be changed
    • “priceTerms”: “Subject to availability, terms and conditions.”,
    • “description”: “Subscribe and stay updated, unlock your personalised subscribers promo code and receive exclusive offers.”,
    • “comparisonIntro”: “No need to search anywhere else for the best rate.”,
    • “comparisonText”: “Cheapest Comparison Rate”,
    • “calltoAction”: “Unlock promo code<em> now! </em>”,
    • “popupTitle”: “Last chance to<br />lock-in today’s<br />best price!”,
    • “thankyouTitle”: “Thank you<br />for becoming a<br />loyalty member!”,
    • “thankyouDescription”: “You now have an exclusive promo code to use when you book direct on our website.”,
    • “thankyouDescription2”: “Thank you for becoming a loyalty member, you now have an exclusive promo code to use when you book direct
      on our website.”,

 

Below is all the text and styling for the EDM that gets sent to customers when they subscribe through the Price Check Widget.

    • “EDM”:
      • “custom”: “no”,“subject”: “Thank You For Becoming a Loyalty Member”,

        “fromName”: “Rumba Beach Resort”, – Change this to the client’s name or requested from name

        “fromEmail”: “stay@rumbaresort.com.au”, – Change to the client’s email (main hotel email or whatever was requested)

        “HEXcolour”: “#3699cb”, – Change this to a colour from the client’s branding

        “LogoWidth”, “LogoHeight”, “logoURL” – You will need a logo for the EDM – this will need to be hosted on the client’s
        site. You will need to add in the height and width of the logo in the config file too

        “websiteURL”: “http://www.rumbaresort.com.au/”, – Update this to the client’s website url

        “phoneNumber”, “address” – Update the phone number and address to the client’s details

        The headings and content won’t really change unless the client requests it, so you won’t generally need to touch these.

        “dbEmail”: “stay@rumbaresort.com.au” – Update this to the same client email used in the config previously.

IMPORTANT! Don’t leave empty config files within the clients folder or setup a client that doesn’t exist (make sure all files are intact) otherwise the server can crash after syncing the folders to the server.

NOTE: When creating/changing a client’s config file, please make sure to copy the file contents into a JSON parser/validator to make sure it’s valid JSON. One that you can use is: http://json.parser.online.fr/

Test Page Setup

A test page will automatically be created using the ID you created. Eg. https://pricecheck.pebbledesign.com/the-point-brisbane.html

Styling

  • In the folder you setup initially, there will be a custom.css file. This is the file you need to edit to style the price check widget to the client’s branding.
  • The only things you will be changing are the font colours and background colours of the various sections. Try to keep the light/dark contrast. You can use background textures as well (see http://www.rumbaresort.com.au/ as an example of textures & light/dark contrast)
  • Have a play using colours based on the client’s branding and see what works.

Adding to the Site

Normally, the Price Check code can just be added just before the </body>. HOWEVER! If you have SSL on the site and also a custom map, the Price Check code will need to be placed above the custom map code (on whichever page the map is on) AND you will need to remove “defer” from the Price Check script tag. If you don’t do all of this, then it will cause issues and the map will stop working (or the Price Check will stop working).

GA Dashboard

  • Log in to Pebble’s GA account and go to Pebble Price Check
  • Clone a previous client’s dashboard and mobile dashboard (share templates) & rename accordingly
  • Go through and edit each of the widgets – updating the hostname filter to (www.)?clientdomain.com.au – check with Reiss if unsure

Make sure to test the widget on the test page you’ve set up – submit your email, make sure everything clicks through correctly & appears correctly.
Make sure to test the abandonment popup as well after you’ve submitted your email to get the promo code.

Once everything is all good, send to the client to approve. If everything is approved, you can transfer the code to the template/s for the site. Remember to check if the client has a separate mobile site – it will need to be added to that separately.

Troubleshooting if Price Check goes down

  • Whilst on the client website, check the error console in Chrome (F12 or cmd + shift + i) – Price check is supposed to give a message in this area to explain why it didn’t show on-screen (e.g. no valid room comparisons)
  • To see the status of all clients in 1 place at any time, you can visit https://pricecheck.pebbledesign.com/admin/ and login with username priceCheck and password (check with the team)
  • If the comparison price is not showing, this means that the OTA’s are running a promo that is less than the discount the hotel is offering through it’s booking engine. PC is coded so this section is disabled otherwise it would show that the OTA’s are cheaper.