If you are completing both an offers and an Actions Center Reservations End-to-End integration, you are able to connect the two to surface offers 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 offers integration and the Actions Center integration, please reach out to your Google technical contact to begin the changes to your booking server as described below.
Booking Server Changes
- If
offer_id
(the same offer id provided in the Offers feed) is specified inCreateBookingRequest
, ensure the offer is applied to the booking.CreateBooking
should work withoutoffer_id
specified as well. - The Offer that is applied to the booking must be included in the
CreateBookingResponse
. Only the Offer that is part of the request can be applied to the booking. If no Offer is applied to the booking then this field should be omitted from the response. - If the
offer_id
does not exist or is not applicable to the requested slot, returnOFFER_UNAVAILABLE
in theBookingFailure
of theCreateBookingResponse
. If the time slot is altogether unavailable, returnSLOT_UNAVAILABLE
instead.
Test Cases
These are the test cases you must complete to ensure your Actions Center integration is working with your Reservations End-to-End integration. We strongly recommend additional testing based on your specific platform use cases.
- Book a valid slot with no offer
- Book a valid slot with a valid offer
- Book a valid slot that has multiple offers available, selecting a random offer and ensure the correct offer is applied to the booking
- Book a valid slot with a valid offer, but the offer is outside of the
offer redemption hours. This should return
OFFER_UNAVAILABLE
- Book a valid slot with a valid offer, but the offer is outside of the
offer redemption date. This should return
OFFER_UNAVAILABLE
- Book a valid slot with an invalid offer, but there is another valid offer
at that time. This should return
OFFER_UNAVAILABLE
- Book a slot with an offer that exists for a different merchant. This
should return
OFFER_UNAVAILABLE
- Book a slot with an offer that does not exist. This should return
OFFER_UNAVAILABLE
- Book a slot with a valid offer, but the slot is no longer available. This
should return
SLOT_UNAVAILABLE
- Book a slot that is no longer available with an offer 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.