Frequently asked questions

The following are questions that our partners frequently ask, as well their solutions.

Feeds

Can partners include merchants with more than one location?
Yes, partners can do this if they add each location separately in the Merchant feed.
Can time slots overlap?
Yes, slots might overlap because intervals between time slots don't have to be equal in duration. These intervals can be much shorter than service duration. This allows you to handle business logic on your end. For example, there can be one time one slot from 9 AM to 10 AM and another slot from 9:15AM to 10:15AM for the same service.
When you use recurrence, can exception times that are back-to-back be combined into one?
Yes, they can be combined.
What's shown to the user when min_advance_online_canceling is set versus when it's not set?

The following messages are shown to the user dependent on the value of min_advance_online_canceling`:

  • If set to a specific time: "If you made a booking and cannot attend, please cancel your booking <min_advance_online_canceling> in advance."
  • If not set: "If you can’t make it to your booking, please call <merchant> directly at <phone number> to inquire about your refund/cancellation policy."

Booking server

Should a partner generate the booking ID when a new booking in the Create Booking API is called?
Yes, generate a booking ID on your end. We treat it as an opaque identifier.

Real-time booking updates

If a user changes the start time, duration, or services on a booking, would these changes be restricted by the availability feed?
Yes. For example, a user can't update their 10:00 AM booking to start at 10:05 AM since there are no open availability slots in the availability feed.
If a partner deletes a merchant or service, does that delete all of its associated services and availability slots?
Yes, if a partner deletes a merchant or service, sub-levels are automatically disabled in our system.
Does the UpdateBookingRequest booking contain the whole booking from CreateBookingResponse or only updated fields?
Both. It contains a mask that contains the updated fields, and the whole booking from CreateBookingResponse. For example, for a booking cancellation, the FieldMask Path="status" booking object only has Booking.status = 'BookingStatus.Canceled'.

Payments

When can Google support my preferred payment processor?
The latest list of supported processors is at the Google Pay website.
For any given availability slot, can a business provide a different price for each staff member who performs the same service?
Yes, you can provide a per-staff member, per-availability slot price for a service if you provide a collection of payment options within the merchant feed. See the PaymentOption message for details on the exact set of fields that define a payment_option.
Is there any dependency between prepayments, deposits, and no-show fees?
There's no dependency between prepayments, deposits, and no-show fees that are specified in the service feed. You can have valid deposits and no-show fees without having prepayments enabled. However, for either of those three to function correctly, you need to complete your payments integration.
How are tax fees shown to users?
If a tax rate is set and payment online is required, tax fees are shown separately from your service costs. They are included in the total price shown to the user.

Sandbox environments

How do I access the links to the sandbox frontend?
You can access sandbox links via the Partner Portal > Inventory page.
Is there a sandbox environment where partners can see their data and use their data to run tests?
Yes, a sandbox environment is available for you to run end-to-end integration tests. For more information, see our end-to-end testing guide.
Is there a version of the API that accesses the sandbox environment?
Yes, enable the Maps booking API (dev) in your Google Cloud project. It's only accessible to users of the Partner Portal that are automatically allowed access. Once enabled, all you need to do is change the endpoint of your API calls to https://partnerdev-mapsbooking.googleapis.com/.
What is the difference between sandbox and production?

The sandbox environment is an independent environment that allows you to test changes without impacting your production systems Reserve with Google provides the following pieces of the sandbox environment:

When all of the sandbox environment components are connected to a non-production environment in your systems (e.g. a development or staging environment) you can fully simulate a production environment, without impacting your production systems. Note, the following caveats:

  1. Connect your staging or testing feeds, booking server, and real-time update APIs to the sandbox environment.
  2. Provide a subset of real world inventory in your Sandbox environment to test against. This ensures that any edge cases with your inventory are covered.
  3. A sandbox booking server should never complete booking requests or updates against live inventory. Instead, point the sandbox environment to your staging or test environment.
  4. Asynchronous bookings should be managed by the sandbox version of your merchant tools to accept/decline bookings. This will allow testing of the BookingNotification real-time update in sandbox.

Partner Portal

Inventory View

Why are there no results shown after applying filters?
Check to see if there are typos in your filter values (e.g. trailing spaces). Additionally, if the inventory is deleted from the feeds, it will not appear in the search results unless the Integration State = Deleted filter is explicitly set.
How do I sort by inventory state?
To add an inventory state filter, first add a filter for the integration type. For example, set an integration type filter to E2E (end-to-end integration) and then set the Inventory state filter to Live. For more information on how to set filters, see [here]/maps-booking/partner-portal/inventory#applying_filters).