Bookable Appointments User Guide

Allow your clients/merchants to provide tremendous convenience to their customers by creating instantly bookable Groupon deals. Increase ROI, conversion and revenue and attract more clients//merchants to your platform by giving them access to the millions of consumers on Groupon and 24/7 booking ability.

Integrating for Bookable Appointments :

  • Security- Details regarding Security, Authentication, Polling and other technical requirements.
  • Content- Links Merchants and their services with Groupon via the Merchant API.
  • Availability - Groupon will periodically poll your system every 60 minutes to update our cache of Merchants, their services, staff and availability.
  • Availability Check - Real time availability check performed prior to checkout to confirm availability
  • Create Booking- Create a booking for a service.
  • Redemptions- Update a booking status after a customer's attendance.
  • Cancellations - Groupon will notify your system if there has been any cancellations initiated within our system to keep our systems in sync.
  • Status Update - Notify Groupon of any changes made to a booking from your system (i.e cancellations triggered from your system and etc.).

The top most diagram on the right details the data flow from the initial linking of a Merchant between our systems through to the user completing a transaction and attending a booking. The diagram below details the data flow from the initial linking of a product between our systems upon a customer’s purchase and voucher redemption.

Customer Experience and Purchase Journey

Users are able to complete two styles of purchases in Groupon; pre-purchase and post-purchase.

Prior to a user paying for a booking they can select the time, date and service they want, and during the purchase flow Groupon will claim the booking for the user. This is referred to as pre-purchase booking. If your system supports reservations, which hold a user's booking for a short time during the checkout, Groupon will leverage this capability (detailed in this section). It is highly recommended that reservations be supported as this improves the user experience significantly.

If the user does not want to include a specific booking at the time of purchase they are able to purchase a voucher that can be used in the future to claim a booking. This is referred to as post-purchase booking.

Regardless of the style of purchase the user completes in Groupon the same connectivity and data flow between Groupon and your system happens. There is no need for your system to adapt to the separate purchase flows outside of the reservation capability mentioned above.

Pre-purchase booking flow steps

  1. The user views a deal on Groupon.
  2. If the deal offers multiple locations, the user selects a location.
  3. If the deal offers multiple services, the user selects a service.
  4. The user selects a date and time for a booking.
  5. The user confirms their selected booking through completing the checkout process and committing payment.

Post-purchase booking flow steps

  1. The user has already purchased a voucher for a deal. When the user is ready to book the deal, the user clicks the Book Now button on their voucher.
  2. If the deal offers multiple locations, the user selects a location.
  3. If the deal offers multiple services, the user selects a service.
  4. The user selects a date and time for a booking.
  5. The user confirms the booking, and schedules more bookings if available in the purchase pass (for example, multiple classes offered in a 6-class yoga pass).

Requirements:

Product SKU Mapping

For Bookable Appointments services/classes mapping, you must provide Groupon a bundled package ID that will be used as your product ID. For example:

  • Consider a product (deal option) - “5 sessions of Deep-Tissue or Classic Massage”. The service Deep Tissue Massage has ID “DT1” and Classic Massage has ID “CM1”.
  • These two services are mapped into the above deal option, which has the ID “MPass.” Thus “DT1” and “CM1” will map to “MPass,” and MPass should be provided to Groupon to be used as the product ID.
  • You need to build mapping logic to build and pass the bundled package ID to Groupon if it does not already exist on your end.
  • Purchase flow needs your product ID to work correctly for standard integrations.

 

Multi Use and Fixed Duration Passes

Where agreed with the Merchant Groupon will offer consumers the ability to purchase passes to use for multiple bookings in a partners system. In both cases Groupon will manage the validity of the passes and will leverage a standard booking call to schedule bookings for the users. Two categories of passes will be available on Groupon:

  1. Multi Use Passes - A consumer can attend a fixed number of classes during the valid period of the pass. For example; a six class Yoga pass or four massages.
  2. Fixed Duration Passes - A consumer can attend as many sessions as they want, subject to availability, during the pass period. For example; unlimited Yoga for 30 days or unlimited massages for seven days.

Redemption sync: Bookings through Groupon app

A customer books an appointment through Groupon, so Groupon already has the booking info for each booking in the Groupon system.

  • Visit date passes - A customer may or may not attend their booked visit. When the visit date passes, you must have logic in place, or build the logic, to enable merchants to send a redemption signal from your software installed on the merchant POS system to your servers. The built-in capability of your system to automatically trigger a signal from the first booking information is also acceptable. You must send a redemption signal to Groupon on the Groupon Patch Bulk Unit endpoint.
  • You can use one of the fields mentioned previously (Groupon Number/Customer Personal Info: first name + last name + phone number/Pass ID) for locating a customer's purchased pass upon receiving the redemption signal from the merchant POS.
  • On Groupon’s end, we will detect if this is the first visit, and if so, use the redemption signal to mark the voucher as redeemed and pay the merchant.

Redemption sync: Offline (Customer Walk-Ins)

The customer walks in to the merchant without an appointment, tells the merchant they have a voucher but no bookings yet, and that they want to use a visit. 

The customer tells the merchant operator which appointment slot they want to use and what service, according to the deal option they bought. For example, “I want to use a cardio visit at 11 am today.”

  • The merchant operator must be able to enter this booking information in your software installed on the merchant POS system with the date, start time, end time, and service/class.
  • You must have logic in place, or build the logic, to enable merchants to send a redemption signal from your software installed on the merchant POS system to your servers. The built-in capability of your system to automatically trigger a signal from each booking information is also acceptable.
  • You can use one of the fields mentioned previously (Groupon Number/Customer Personal Info: first name + last name + phone number/Pass ID) for locating a customer's purchased pass upon receiving the redemption signal from the merchant POS.
  • You must create a booking upon receiving a redemption signal from the merchant POS with the availabilityId information, if available to you. You must send a redemption signal to Groupon on the Groupon Patch Bulk Unit.
  • Upon receiving the redemption signal, Groupon will make a Retrieve Unit call to sync the offline bookings. Also, we will detect if this is the first visit, and if so, use the redemption signal to mark the voucher as redeemed and pay the merchant.

Voucher Expiry Date

Note: partnerProductId that you set on your side maps to a Groupon deal option. You must calculate the expiry date window when the customer books the first class/service. This will make sure the Groupon Voucher expiration is set accordingly. You should also take care of resetting this date in case the first booking is cancelled and rebooked. Calculate the expiry date from the first booking. Confirm bookings made on subsequent dates are within the valid usage window. Use the following formula: Valid usage window = date of first booking + number of days in pass

  1. Expiry date should only be calculated and returned on Retrieve Unit endpoint by you for all deal option types which have a time constraint from first usage, ( e.g. Unlimited cardio for 30 days). 
  1. If the first booking is cancelled/changed, you must recalculate the expiry date window to validate the correct time period from the chronological next valid booking.
  1. You must also build logic to fail bookings that are outside the expiry date window.
  1. After the first booking is used or the first visit date passes, you must set the expiry date on the unit level. The expiry date window is solidified after the first booking is used.
  1. Expiry should not be calculated/returned for deal option types which do not have a time constraint from first usage.

Example Scenario/Flow
  1. On March 1, a customer buys a Groupon voucher for an unlimited 15-day pass. On March 2, the customer makes the first booking for March 10, and the second booking for March 13. You calculate the expiry window as March 10-25 (March 10 + 15 days).
  1. On March 3, the customer cancels the March 10 booking because they are likely within the allowed cancel window. You recalculate the expiry window as March 13-28.
  1. On March 3, the customer tries to make bookings for March 7 and March 29. Both these bookings should fail because the current expiry window is March 13-28.
  1. March 13 passes (customer attends or not). You send Groupon a redemption signal, and Groupon fetches the solidified expiry window (March 13-28) because the first usage has occurred.
  1. Groupon updates the voucher expiry date as the end date of the window (March 28 in this example), which is visible on the clients (such as My Groupons, My Stuff, and Voucher Details).