This section gives more details about the 3 main pieces of an integration
with the Actions Center. You will use each of these in the steps outlined
in the
[End-to-End guide](https://developers.google.com/actions-center/verticals/reservations/bl/policies/platform-policies#merchant_and_service_eligibility).

## Feeds


[Feeds](https://developers.google.com/actions-center/verticals/reservations/bl/reference/feeds/overview)
are files in `JSON` or
[`pb3`](https://developers.google.com/protocol-buffers/docs/proto3) format used to
transmits your inventory data to the Actions Center. This allows you to
submit all of your data at once to update the merchants, services, and
availability slots using an SFTP upload.

## Maps Booking API


The Maps Booking API allows you to update objects in the Actions Center
system between feed submissions to keep information up to date. The API
also allows you to cancel bookings that are made through Reserve with
Google
[end-to-end integration](https://developers.google.com/actions-center/verticals/reservations/bl/policies/platform-policies#merchant_and_service_eligibility).


Real Time Updates are implemented using
[REST calls](https://developers.google.com/maps-booking/reference/maps-booking-api/rest).
**Note:** Real Time Updates are rarely applicable for [starter integrations](https://developers.google.com/actions-center/verticals/reservations/bl/overview). For [starter integrations](https://developers.google.com/actions-center/verticals/reservations/bl/overview) you may ignore the Maps Booking API.

> [!NOTE]
> **Note:** Some existing legacy integration are using [RPC calls](https://developers.google.com/maps-booking/reference/maps-booking-api/rpc). This is still maintained but must not be used for new integrations.

## Booking Server


In order for the Actions Center
[end-to-end integration](https://developers.google.com/actions-center/verticals/reservations/bl/policies/platform-policies#merchant_and_service_eligibility)
to create bookings on your behalf, you
must set up a Booking server.
**Note:** This is not applicable for [starter integrations](https://developers.google.com/actions-center/verticals/reservations/bl/overview).

### REST API


The
[v3 version](https://developers.google.com/actions-center/verticals/reservations/bl/reference/booking-server-api-rest/e2e-definitions/slot-definition)
is the latest version of the API, and supports a REST-based interface. All new integrations
should use the v3 API.

This section specifies the feed files used to transmit your
inventory data to the Actions Center. The contents of your feeds defines
which services you are providing, what services are available, and when the
services are available.


Check the **References and Samples** accordion to learn how to share these feeds with us.

The structure of the inventory feeds are defined by the Google Maps Booking
API.

The following feed is mandatory across any integration:

- **[Merchants feed](https://developers.google.com/actions-center/verticals/reservations/bl/reference/feeds/merchants-feed):** Contains data describing your merchants.

In addition, the 2 following feeds are mandatory for end-to-end integration.

- **[Services feed](https://developers.google.com/actions-center/verticals/reservations/bl/reference/feeds/services-feed):** Describes the services provided by your merchants.
- **[Availability feed](https://developers.google.com/actions-center/verticals/reservations/bl/reference/feeds/availability-feed):** Lists availability slots of services provided by your merchants.

> [!NOTE]
> **Note:** All feeds must be uploaded with processing_instruction `PROCESS_AS_COMPLETE`. `PROCESS_AS_INCREMENTAL` is deprecated and cannot be used.

Some fields in these feeds are required and some are optional. Any field
marked as optional can be left out of the feed when empty.

The feeds format is described using protocol buffer 3 syntax. You have the
option to upload the feeds file as a binary serialization of the protocol
buffer data in [pb3 format](https://developers.google.com/protocol-buffers/docs/proto3) or in a derived JSON format.
We recommend uploading the feeds in JSON format.

We recommend using
[gzip to compress feeds](https://developers.google.com/actions-center/verticals/reservations/bl/reference/tutorials/compression) prior to upload.

This guide is specific to the Actions Center protocol buffers. For
general information on how to use the protocol buffers to generate a pb3
file,
[here is an example in Java](https://developers.google.com/protocol-buffers/docs/javatutorial).