Appointments End-to-End support

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. The Actions Center 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]/actions-center/partner-portal/inventory#applying_filters.

Terminology

The following terms appear throughout the site.

appointments

Used synonymously with bookings. A user books or makes an appointment for a particular slot.

bookings

A booking is the association of a service offered by a merchant for a specific block of time. A Google user may create a booking. A service offering may be a fitness class or a haircut, for example.

inventory

The set of merchants, services, and slots that you send to the Actions Center.

leases

The Actions Center requests a lease after a user has selected a particular slot. The lease places a hold on the slot so that no other user can book this particular appointment until the lease expires or the booking is completed. Leases are optional in v2 of the API and we recommend using CheckAvailabilty instead.

reservations

A reservation is a tentative booking. It applies specifically to dining.

services

Services are offered by merchants. A particular service slot may be booked by a Google user.

slots

A slot is a specific instance of a service that is available for booking. There can be multiple slots for each day and slots may overlap.

scheduling partners

A scheduling partner sends inventory data to Google. We send you user data when a user makes a booking and you perform the actual booking.

Content Editorial Guidelines

When providing service names and descriptions, your submissions should follow three principles:

  • Be honest and factual.
  • Describe service clearly and accurately.
  • Include relevant and complete information about merchant services with attributes.

In addition, make sure you:

  • Use standard spelling and grammar.
  • Avoid any repeated and unnecessary use of punctuation, capitalization or symbols. Don't use exclamation points in your service titles. The use of symbols, numbers, and letters should adhere to the true meaning of the symbol.
  • Avoid repetition. You may not post excessive, repetitive, or irrelevant keywords.
  • Avoid offensive or inappropriate language.
  • Do not include double quotes around the description field.
  • Do not include any extraneous characters, e.g. asterisks that do not point to a footnote. If you must include a footnote or disclaimer, make sure to include it as the last line in the attribute.
  • Make sure to include relevant variant information in services to allow customers to distinguish them.
  • Do not include misspelled or incorrectly punctuated text in any field.

Partner Portal alerts

Reference this page to find out more information about Partner Portal alerts. There are links to the appropriate next steps for your issue included in each section.

Merchants missing availability

A merchant needs to have one or more future availabilities in the Availability feed. If the merchant doesn't have at least one future availability in the Availability feed, the merchant cannot be live on Actions Center. Refer to the "Merchants Missing Future Availability" table in the Inventory Details dashboard of the Partner Portal to see a full list of these merchants. This table is updated every two hours.

Merchant missing services

A merchant needs to have one or more services in the Services feed. If the merchant doesn't have at least one service in the Services feed, the merchant cannot be live on the Actions Center. Refer to the "Merchants Missing Services" table in the Inventory Details dashboard of the Partner Portal to see a full list of these merchants. This table is updated every two hours.

Merchants in an unsupported country

A merchant needs to be within a supported country that your implementation supports. If the merchant’s country isn't supported by the Actions Center, or your implementation doesn't support that country, the merchant cannot be live on the Actions Center. Refer to the "Total Live Merchants by Country" table in the Live Merchants dashboard of the Partner Portal to see your full list of merchants by country. This table is updated every two hours. Open a case in the Partner Portal to see which countries your implementation currently supports or which merchants aren't live due to the country they're in.

Merchants missing a complete address

In order to be live on the Actions Center, a merchant needs to be matched to a listing on Google Maps. The address of a merchant is a big determinant for how Google detects which merchant goes to which Google Maps listing. It's strongly recommended to regularly view the "Merchants Without Complete Addresses" table in the Partner Portal to see your full list of merchants without a complete address. These merchants aren't live on the Actions Center. The table is updated every two hours.

Merchants missing a telephone number

In order to be live on the Actions Center, a merchant needs to be matched to a listing on Google Maps. The telephone number of a merchant is a determinant for how Google detects which merchant goes to which Google Maps listing. It's strongly recommended that you include the telephone number to increase the chances that Google can automatically match your merchants to a Google Maps listing. Refer to the Merchants feed to see the proper format of the telephone number.

Services without a price

A service which has an additional cost associated with it must include a valid price. If the service’s price doesn't reflect a valid price, or is $0.00, the service cannot be live on the Actions Center. Refer to the "Services With No Prices" table in the Inventory Details dashboard of the Partner Portal to see a full list of these services. This table is updated every two hours.

Services without a description

A service needs to include a valid description. If the service’s description is missing, we strongly encourage you to provide one. This allows important details to the users who need to know what they're booking. Open a case on Partner Portal to receive a list of services that don't have a description.

How to get help

Here are instructions for finding help.

New partners

If you're interested in integrating with the Actions Center, complete this interest form.

Existing partners

Filing an inquiry or complaint

If you are a current Actions Center partner and have a question or complaint, you can create a new case in the Partner Portal to contact us. From within the Partner Portal, you can access your case history from going to the Help and Support > Cases page. To create a new case, fill in the "How can we help?" box and click "Start" to go to the new case form.

When creating a new case, you will be asked a few questions that will allow us to better assist you. Please answer these questions to the best of your ability.

Once you open a case, you will be able to view and respond from your inbox or from the Partner Portal. You will receive an email whenever there is an update to your case. Once a case is closed, you will not be able to respond to that case again and will need to open a new case for any future questions.

Anyone that you grant access to your Partner Portal account (see the Accounts & Users guide on how to manage access) will be able to see any previous cases and respond to any open case from within the Partner Portal. Each case will have a case number that you may reference at any time. In addition, emails we send to you may have a reference id associated with them as well. Please include that reference id, or any other identifiers (such as a merchant id) that are applicable to the case within your inquiry.

Following up on a case

If a case you submitted has been closed and you have a follow up to that case, you can “re-open” it using the Follow up on a case button. This button is located at the top of the closed case when viewing the case from the Partner Portal Help and Support > Cases page.

Your follow up case will appear as a new case within the Partner Portal after you click "Submit".