# Restoo Developer Documentation > The Restoo API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON request bodies, returns JSON-encoded responses. ## Getting Started ### Getting Started - [Restoo Key Concepts](https://restoo.mintlify.app/getting-started/key-concepts.md): Overview of key concepts used throughout the Restoo API documentation. - [API Essentials](https://restoo.mintlify.app/getting-started/api-essentials.md): The Restoo API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON request bodies, returns JSON-encoded responses. - [Errors](https://restoo.mintlify.app/getting-started/errors.md): Restoo uses conventional [HTTP response status codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status) to indicate the success or failure of an API request and standardized error objects in JSON for responses. - [Webhooks](https://restoo.mintlify.app/getting-started/webhooks.md): Restoo provides webhooks that allow external systems to receive real-time notifications whenever data is created, updated, or removed. - [Booking Lifecycle](https://restoo.mintlify.app/getting-started/booking-lifecycle.md): All booking statuses, what they mean, and who drives each transition. - [Enums](https://restoo.mintlify.app/getting-started/enums.md): Enums used in the Restoo API. ### Availability - [Get Calendar Availability](https://restoo.mintlify.app/restoo-api/availability/get-calendar-availability.md): Returns the availability calendar for a specific date range, showing which Work Days have available booking slots. - [Search Alternative Tenants Availability](https://restoo.mintlify.app/restoo-api/availability/search-alternative-tenants-availability.md): Searches for availability across multiple Tenants belonging to the same cross-selling group. For each tenant in the group, resolves availability based on the tenant's feature configuration (shift time slots or experiences). Errors encountered while resolving individual tenants are silently reported… - [Get Work Day Availability](https://restoo.mintlify.app/restoo-api/availability/get-work-day-availability.md): Retrieves availability for a specific Work Day. - [Get Experiences Availability](https://restoo.mintlify.app/restoo-api/availability/get-experiences-availability.md): You can filter results by **Floor plan areas**, and **Experiences**. When two or more filters are applied, the response will include only availability that matches at least one valid combination of all the selected parameters. - [Get Experience Add-ons Availability](https://restoo.mintlify.app/restoo-api/availability/get-experience-add-ons-availability.md): Retrieves availability of Add-ons for a specific Experience. - [Get Shift Availability](https://restoo.mintlify.app/restoo-api/availability/get-shift-availability.md): Retrieves availability for a specific Shift. - [Get Time Slot Add-ons Availability](https://restoo.mintlify.app/restoo-api/availability/get-time-slot-add-ons-availability.md): Retrieves availability of Add-ons for a specific Time Slot. - [Get Booking Availability](https://restoo.mintlify.app/restoo-api/availability/get-booking-availability.md): Validates final availability for a specific booking request and returns the applicable booking conditions, such as cancellation policies, or other requirements defined by the venue. ### Booking - [Get Bookings](https://restoo.mintlify.app/restoo-api/booking/get-bookings.md): Retrieves a list of bookings based on the provided filters. - [Create Booking](https://restoo.mintlify.app/restoo-api/booking/create-booking.md): Creates a new Booking with the provided customer, date, time, and party details. - [Create Walk-In](https://restoo.mintlify.app/restoo-api/booking/create-walk-in.md): Creates a new Walk-In Booking. - [Get Booking](https://restoo.mintlify.app/restoo-api/booking/get-booking.md): Retrieves the details of a specific Booking. - [Update Booking](https://restoo.mintlify.app/restoo-api/booking/update-booking.md): Updates an existing Booking with the provided details. - [Update Booking status](https://restoo.mintlify.app/restoo-api/booking/update-booking-status.md): Updates the current status of an existing booking. - [Update Booking size](https://restoo.mintlify.app/restoo-api/booking/update-booking-size.md): Updates the number of guests in an existing booking. - [Update Booking tables](https://restoo.mintlify.app/restoo-api/booking/update-booking-tables.md): Updates the tables assigned to an existing booking. - [Reconfirm Booking](https://restoo.mintlify.app/restoo-api/booking/reconfirm-booking.md): Reconfirms an existing Booking when the customer has accepted the reconfirmation request. - [Get Cancel Booking Details](https://restoo.mintlify.app/restoo-api/booking/get-cancel-booking-details.md): Returns the information required to inform the customer about the financial consequences (if any) of canceling a Booking at this moment. - [Cancel Booking](https://restoo.mintlify.app/restoo-api/booking/cancel-booking.md): Cancels an existing Booking and applies the corresponding Cancellation Policy, if any. - [Transfer Booking Ticket](https://restoo.mintlify.app/restoo-api/booking/transfer-booking-ticket.md): Transfers the booking ticket from another booking, maintaining its associated details. - [Close Booking Ticket](https://restoo.mintlify.app/restoo-api/booking/close-booking-ticket.md): Closes the ticket and updates the status of the associated booking accordingly. ### Customer - [Search Customers](https://restoo.mintlify.app/restoo-api/customer/search-customers.md): Searches customers by phone and/or email. At least one parameter is required. Returns all customers matching any of the provided criteria. - [Get Customer by UUID](https://restoo.mintlify.app/restoo-api/customer/get-customer-by-uuid.md): Retrieves a single customer by their UUID. - [Update Customer](https://restoo.mintlify.app/restoo-api/customer/update-customer.md): Updates an existing customer's data. All required fields must be sent. Optional fields not sent are not modified; those sent as null are overwritten with null. - [Get Customer Bookings](https://restoo.mintlify.app/restoo-api/customer/get-customer-bookings.md): Retrieves all bookings associated with a customer. ### Experience - [Get Experiences](https://restoo.mintlify.app/restoo-api/experience/get-experiences.md): Returns the online-bookable Experiences and their Experience Groups. ### Review - [Reply to a Review](https://restoo.mintlify.app/restoo-api/review/reply-to-a-review.md): Sends an email response to the Customer on behalf of the Tenant and marks the Review as replied. - [List Reviews](https://restoo.mintlify.app/restoo-api/review/list-reviews.md): Retrieves a list of reviews based on the provided filters. ### Tenant - [Get Tenant Profile](https://restoo.mintlify.app/restoo-api/tenant/get-tenant-profile.md): Returns the public tenant profile and configuration needed by booking-channel integrations. ## Booking Channel API ### Getting Started - [Introduction](https://restoo.mintlify.app/booking-channel-api/intro.md): Why and how to integrate your Booking Channel with Restoo. - [Integration steps](https://restoo.mintlify.app/booking-channel-api/integration-steps.md): A high-level overview of the integration process with Restoo. ### Flows - [Availability Flow](https://restoo.mintlify.app/booking-channel-api/availability-flow.md): Which endpoints to call to check availability before creating a booking, and in what order. - [Booking Creation Flow](https://restoo.mintlify.app/booking-channel-api/booking-creation-flow.md): How to submit a booking after availability checks and handle all possible outcomes. - [Update Booking Flow](https://restoo.mintlify.app/booking-channel-api/update-booking-flow.md): How to modify an existing booking — party size, date/time, notes, and more. - [Cancellation Flow](https://restoo.mintlify.app/booking-channel-api/cancellation-flow.md): How to cancel a booking, check for penalties, and handle cancellation policies. ### Availability - [Get Calendar Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/calendar.md): Returns the availability calendar for a specific date range, showing which Work Days have available booking slots. - [Get Work Day Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/work-day.md): Retrieves availability for a specific Work Day. - [Get Experiences Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/experiences.md): You can filter results by **Floor plan areas**, and **Experiences**. When two or more filters are applied, the response will include only availability that matches at least one valid combination of all the selected parameters. - [Get Experience Add-ons Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/experience-add-ons.md): Retrieves availability of Add-ons for a specific Experience. - [Get Shift Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/shift.md): Retrieves availability for a specific Shift. - [Get Time Slot Add-ons Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/time-slot-add-ons.md): Retrieves availability of Add-ons for a specific Time Slot. - [Get Booking Availability](https://restoo.mintlify.app/booking-channel-api/methods/availability/booking.md): Validates final availability for a specific booking request and returns the applicable booking conditions, such as cancellation policies, or other requirements defined by the venue. ### Booking - [Create Booking](https://restoo.mintlify.app/booking-channel-api/methods/bookings/create.md): Creates a new Booking with the provided customer, date, time, and party details. - [Get Booking Cancellation Policy Signature Intent](https://restoo.mintlify.app/booking-channel-api/methods/bookings/cancellation-policy-signature-intent.md) - [Update Booking](https://restoo.mintlify.app/booking-channel-api/methods/bookings/update.md): Updates an existing Booking with the provided details. - [Update Booking status](https://restoo.mintlify.app/booking-channel-api/methods/bookings/update-status.md): Updates the current status of an existing booking. - [Reconfirm Booking](https://restoo.mintlify.app/booking-channel-api/methods/bookings/reconfirm.md): Reconfirms an existing Booking when the customer has accepted the reconfirmation request. - [Get Cancel Booking Details](https://restoo.mintlify.app/booking-channel-api/methods/bookings/cancel-details.md): Returns the information required to inform the customer about the financial consequences (if any) of canceling a Booking at this moment. - [Cancel Booking](https://restoo.mintlify.app/booking-channel-api/methods/bookings/cancel.md): Cancels an existing Booking and applies the corresponding Cancellation Policy, if any. - [Get Booking](https://restoo.mintlify.app/booking-channel-api/methods/bookings/retrieve.md): Retrieves the details of a specific Booking. - [List Bookings](https://restoo.mintlify.app/booking-channel-api/methods/bookings/list.md): Retrieves a list of bookings based on the provided filters. ### Customer - [Search Customers](https://restoo.mintlify.app/booking-channel-api/methods/customers/search.md): Searches customers by phone and/or email. At least one parameter is required. Returns all customers matching any of the provided criteria. - [Get Customer](https://restoo.mintlify.app/booking-channel-api/methods/customers/retrieve.md): Retrieves a single customer by their UUID. - [Update Customer](https://restoo.mintlify.app/booking-channel-api/methods/customers/update.md): Updates an existing customer's data. All required fields must be sent. Optional fields not sent are not modified; those sent as null are overwritten with null. - [Get Customer Bookings](https://restoo.mintlify.app/booking-channel-api/methods/customers/retrieve-bookings.md): Retrieves all bookings associated with a customer. ### Experience - [Get Experiences](https://restoo.mintlify.app/booking-channel-api/methods/experiences/list.md): Returns the online-bookable Experiences and their Experience Groups. ## POS API ### Getting Started - [Introduction](https://restoo.mintlify.app/pos-api/intro.md): Why and how to integrate Restoo with your POS system? - [Before you start](https://restoo.mintlify.app/pos-api/before-you-start.md): Prerequisites and important behaviors to understand before building your POS integration. - [Integration steps](https://restoo.mintlify.app/pos-api/integration-steps.md): A high-level overview of the integration process with Restoo. ### Flows - [Ticket Flow](https://restoo.mintlify.app/pos-api/ticket-flow.md): How the POS manages a table from seating to ticket close, for both Walk-Ins and pre-existing reservations. ### Booking - [Create Walk-In](https://restoo.mintlify.app/pos-api/methods/bookings/create-walk-in.md): Creates a new Walk-In Booking. - [Update Booking status](https://restoo.mintlify.app/pos-api/methods/bookings/update-status.md): Updates the current status of an existing booking. - [Update Booking size](https://restoo.mintlify.app/pos-api/methods/bookings/update-size.md): Updates the number of guests in an existing booking. - [Update Booking Tables](https://restoo.mintlify.app/pos-api/methods/bookings/update-tables.md): Updates the tables assigned to an existing booking. - [Transfer Booking Ticket](https://restoo.mintlify.app/pos-api/methods/bookings/tickets-transfer.md): Transfers the booking ticket from another booking, maintaining its associated details. - [Close Booking Ticket](https://restoo.mintlify.app/pos-api/methods/bookings/tickets-close.md): Closes the ticket and updates the status of the associated booking accordingly. - [Get Booking](https://restoo.mintlify.app/pos-api/methods/bookings/retrieve.md): Retrieves the details of a specific Booking. - [List Bookings](https://restoo.mintlify.app/pos-api/methods/bookings/list.md): Retrieves a list of bookings based on the provided filters. ## Widget ### Installation - [How the Restoo Widget Works](https://restoo.mintlify.app/widget/intro.md): The three ways to install the Restoo widget, the four pieces around it, and who is responsible for what. - [Installation Quickstart](https://restoo.mintlify.app/widget/quickstart.md): Get the Restoo widget live in a few minutes, without writing code. - [Advanced Installation](https://restoo.mintlify.app/widget/advanced-installation.md): Configure the Restoo.js API: initial view, language, triggers, and how the widget behaves in your integration. - [Appearance](https://restoo.mintlify.app/widget/appearance.md): Bring your brand into the widget — your fonts, your colors, your style. ### Marketing & Analytics - [Setting Up Your Integrations in Restoo](https://restoo.mintlify.app/widget/integrations.md): Where and with what data GA4, Google Ads, Meta Pixel, TikTok Pixel, OpenAI Pixel, and Google Tag Manager are enabled in your Restoo account. - [Consent](https://restoo.mintlify.app/widget/consent.md): How Restoo reads the visitor's consent, and what each Google Consent Mode v2 signal unlocks. #### Restoo Connect - [Restoo Connect](https://restoo.mintlify.app/widget/connect.md): Connect Restoo to GA4, Google Ads, Meta Pixel, TikTok Pixel, OpenAI Pixel, or Google Tag Manager, with the visitor's consent applied per destination. - [Event Mappings](https://restoo.mintlify.app/widget/connect-mappings.md): Events and data sent by Restoo Connect to each supported analytics and advertising platform. #### Campaign Attribution - [Campaign attribution](https://restoo.mintlify.app/widget/attribution.md): How every booking is credited to the campaign that brought the guest, with the widget hosted on Restoo or embedded in your site. - [Restoo Attribution Transfer](https://restoo.mintlify.app/widget/attribution-transfer.md): Preserve campaign attribution and ad click identifiers while visitors browse your site, all the way through to the booking they make. #### Events - [Restoo Widget Events](https://restoo.mintlify.app/widget/events.md): Events emitted by the Restoo widget, their payloads, and how to listen for them. ### Guides - [Troubleshooting](https://restoo.mintlify.app/widget/diagnostics.md): What to check when an event does not reach a platform, the widget does not look right, or the numbers do not add up. - [Bidding & Optimization for Agencies](https://restoo.mintlify.app/widget/bidding-optimization.md): How to use Restoo widget events to measure the booking funnel and choose the right optimization conversions for Google Ads, Meta, TikTok, and ChatGPT Ads. - [Remarketing to guests who did not complete their booking](https://restoo.mintlify.app/widget/abandoned-booking-remarketing.md): How to build, in GA4, Google Ads, Meta and TikTok, an audience of guests who started a booking in the widget and did not complete it, whichever stage you pick. ### Migrating from v1 to v2 - [Migration Quickstart](https://restoo.mintlify.app/widget/migration-quickstart.md): Where to start when updating the Restoo widget from v1 to v2. - [What Changes in v2](https://restoo.mintlify.app/widget/migration-changes.md): What you gain with widget v2, what can break something you have built, and what stays exactly the same. - [Migrating from the Hosted Page](https://restoo.mintlify.app/widget/migration-hosted.md): What to review in your conversions and your analytics when your guests book on the page Restoo hosts for you. #### From the embedded version - [Migrating the Widget Installation](https://restoo.mintlify.app/widget/migration-embedded-install.md): Swap the v1 iframe for Restoo.js, the v2 script. - [Migrating Marketing & Analytics](https://restoo.mintlify.app/widget/migration-embedded-marketing.md): Move your conversions, your triggers, and your UTM transfer script to the new Restoo Connect and Restoo Attribution Transfer. ## OpenAPI Specs - [public-api](/public-api.json) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [Spanish (19 pages)](https://restoo.mintlify.app/_llms/es.md): Documentation for Spanish.