In light of COVID-19, please review the latest announcement regarding the Reserve with Google guidelines for supporting users and merchants during this time. Additionally, since we are operating with a limited support team, it may take longer to connect with us. Thank you for your patience, and we value your partnership.

Enabling merchant deals on your booking server

If you are completing both a deals and Reserve with Google integration, you are able to connect the two to offer deals within your end-to-end booking flow. If you are unsure if you are completing both of these integrations, or would like to build just one of these integrations, please reach out to your Google business contact.

After you have completed both the deals integration and the Reserve with Google integration, please reach out to your Google technical contact to begin the changes to your booking server as described below.

Booking Server Changes

  • If deal_id (the same deal id provided in the Google Local Feeds integration) is specified in CreateBookingRequest, ensure the deal is applied to the booking. CreateBooking should work without deal_id specified as well.

  • If the deal_id does not exist or is not applicable to the requested slot, return DEAL_UNAVAILABLE in the BookingFailure of the CreateBookingResponse. If the time slot is altogether unavailable, return SLOT_UNAVAILABLE instead.

Test Cases

These are the test cases you must complete to ensure your Reserve with Google integration is working with your deals integration. We strongly recommend additional testing based on your specific platform use cases.

  • Book a valid slot with no deal
  • Book a valid slot with a valid deal
  • Book a valid slot that has multiple deals available, selecting a random deal and ensure the correct deal is applied to the booking
  • Book a valid slot with a valid deal, but the deal is outside of the deal redemption hours. This should return DEAL_UNAVAILABLE
  • Book a valid slot with a valid deal, but the deal is outside of the deal redemption date. This should return DEAL_UNAVAILABLE
  • Book a valid slot with an invalid deal, but there is another valid deal at that time. This should return DEAL_UNAVAILABLE
  • Book a slot with a deal that exists for a different merchant. This should return DEAL_UNAVAILABLE
  • Book a slot with a deal that does not exist. This should return DEAL_UNAVAILABLE
  • Book a slot with a valid deal, but the slot is no longer available. This should return SLOT_UNAVAILABLE
  • Book a slot that is no longer available with a deal that is not available. This should return SLOT_UNAVAILABLE
  • Book a slot that does not exist. This should return SLOT_UNAVAILABLE

Once these changes are complete please test your integration in the sandbox environment. After you have completed testing and are confident in the results, reach out to your Google technical contact.