Gingr Bookings API

The **Bookings** group is the core of the Gingr API. A **Booking** (also called a Reservation internally) represents a scheduled service for one or more animals at a specific location and time. The typical booking lifecycle is: 1. **Validate** — Call the validation endpoints to check availability and confirm there are no conflicts before committing. 2. **Create** — Submit the booking with the required fields. The response includes the new booking ID. 3. **Pre-check** — If the organization requires a pre-check, retrieve the pre-check form (`GET /v1/bookings/{id}/precheck-form`) and submit answers (`POST /v1/bookings/{id}/precheck`). 4. **Accept / Confirm** — Some organizations require staff to manually confirm bookings. Use the accept endpoint when `manualConfirm` is enabled. 5. **Checkout** — When the service is complete, submit payment via the checkout endpoint. 6. **Cancel** — If needed, cancel the booking and optionally apply a cancellation fee. Key concepts: - **`manualConfirm`** — When this flag is `true` on a booking type, new bookings land in a "pending" state and must be explicitly accepted by staff before they are considered confirmed. If `false`, bookings are auto-confirmed. - **Overrides** — The `overrides` object in the create/update requests lets you bypass certain business rule validations (e.g., overbooking a run, scheduling outside business hours). Overrides require elevated API permissions and should be used sparingly. - **Services** — A booking can have one or more services attached (e.g., the base boarding service plus grooming add-ons). Services carry their own pricing and scheduling. - **Lodging** — For overnight boarding, the booking is assigned to a specific run/kennel. The available lodgings endpoint returns which runs are open for the requested dates. - **Pre-check** — A digital check-in form that collects health, feeding, and care instructions for the animal's stay. Whether pre-check is required depends on organization settings. - **Standing Bookings** — Recurring bookings on a fixed schedule (e.g., every Monday for daycare). Changes to a standing booking can apply to the single instance or all future occurrences.

Operations 42

GET /v1/bookings/available-specialists Available Specialists - List #
GET /v1/bookings/next-available-specialists Available Specialists - List Next #
GET /v1/bookings/{bookingId}/feeding-administration-status Feeding Administration Status - List #
PUT /v1/bookings/{bookingId}/feeding-administration-status Feeding Administration Status - Save #
GET /v1/bookings/{bookingId}/medication-administration-status Medication Administration Status - List #
PUT /v1/bookings/{bookingId}/medication-administration-status Medication Administration Status - Save #
POST /v1/bookings/{bookingId}/belongings Booking Belonging - Create #
PUT /v1/bookings/{bookingId}/belongings/{belongingId} Booking Belonging - Update #
DELETE /v1/bookings/{bookingId}/belongings/{belongingId} Booking Belonging - Delete #
POST /v1/bookings/{bookingId}/check-in Booking - Check In #
GET /v1/bookings/estimates [BETA – Not Production Ready] Bookings - Estimates #
GET /v1/bookings Bookings - List #
POST /v1/bookings Bookings - Create #
GET /v1/bookings/{bookingId} Bookings - Details #
PUT /v1/bookings/{bookingId} Bookings - Update #
GET /v1/bookings/available-lodgings Bookings - Available Lodgings #
PUT /v1/bookings/{bookingId}/services Booking Service - Add #
GET /v1/bookings/last-service-duration Bookings - Last Service Duration #
POST /v1/bookings/booking-estimate Bookings - Generate Estimate #
PUT /v1/bookings/{bookingId}/cancel Bookings - Cancel #
GET /v1/bookings/{bookingId}/estimate Booking - Estimate #
GET /v1/bookings/{bookingId}/precheck Booking - Precheck Data #
POST /v1/bookings/{bookingId}/precheck Booking Precheck - Submit #
POST /v1/bookings/{bookingId}/checkout Bookings - Checkout #
POST /v1/bookings/{bookingId}/accept Bookings - Accept #
POST /v1/bookings/{bookingId}/wait-list Booking - Move to Wait List #
DELETE /v1/bookings/{bookingId}/booking-services/{bookingServiceId} [BETA - Not Production Ready] Booking Service - Delete #
DELETE /v1/bookings/{bookingId}/booking-service-options/{bookingServiceOptionId} [BETA - Not Production Ready] Booking Service Option - Delete #
POST /v1/bookings/{bookingId}/booking-services/{bookingServiceId}/complete [BETA - Not Production Ready] Booking Service - Complete #
POST /v1/bookings/{bookingId}/booking-service-options/{bookingServiceOptionId}/complete [BETA - Not Production Ready] Booking Service Option - Complete #
GET /v1/bookings/validate-capacity [Deprecated] Bookings - Validate Capacity #
POST /v1/bookings/validate-capacity Bookings - Validate Capacity #
GET /v1/bookings/validate-forms Bookings - Validate Forms #
GET /v1/bookings/validate-immunizations [BETA – Not Production Ready] Bookings - Validate Immunizations #
GET /v1/bookings/validate-agreements Bookings - Validate Agreements #
GET /v1/bookings/validate-prior-bookings Bookings - Validate Prior Bookings #
GET /v1/bookings/deposits Bookings Deposits - List #
GET /v1/bookings/validate-evaluations Bookings - Validate Evaluations #
GET /v1/bookings/default-rates Bookings Default Rates - List #
GET /v1/bookings/standing-bookings/pets/{petId} Standing Bookings - List #
POST /v1/bookings/standing-bookings/{standingBookingId}/cancel Standing Bookings - Cancel #
DELETE /v1/bookings/standing-bookings/{standingBookingId} Standing Bookings - Delete #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gingr:gingr-bookings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gingr-bookings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gingr Bookings API
  description: 'Welcome to the **Gingr API** — a RESTful JSON:API-compliant interface for integrating with Gingr, the leading pet-care business management platform.


    ## Authentication


    All requests require an API key passed in the `X-Api-Key` header. Keys are scoped to a specific organization and can be generated from the Gingr admin dashboard under **Settings → Integrations → API Keys**.


    ## Subdomain Header


    Every request must also include a `subdomain` header identifying which Gingr account you are operating on. This value is the subdomain portion of your Gingr URL (e.g., `mykennel` for `mykennel.gingrapp.com`).


    ## Response Format


    The API follows the JSON:API v1.0 specification. All requests must include:


    ```

    Accept: application/vnd.api+json

    ```


    POST/PUT/PATCH requests that include a body must also include:


    ```

    Content-Type: application/vnd.api+json

    ```


    Paginated list responses include a `meta` object with `currentPage`, `lastPage`, `perPage`, and `total`, as well as a `links` object with `first`, `last`, `prev`, and `next` cursor URLs.


    ## Error Handling


    | HTTP Status | Meaning |

    |-------------|---------|

    | 200 | Success |

    | 201 | Resource created |

    | 400 | Bad request / business logic error |

    | 401 | Unauthorized — invalid or missing API key |

    | 403 | Forbidden — valid key but insufficient permissions |

    | 404 | Resource not found |

    | 422 | Validation error — see `errors` array in response |

    | 500 | Internal server error |


    Validation errors (`422`) are returned as a JSON:API `errors` array where each item contains a `title` and a `detail` describing the offending field.


    ## Rate Limiting


    API requests are subject to rate limiting. Exceeding the limit returns a `429 Too Many Requests` response. Contact Gingr support to discuss higher rate limits for high-volume integrations.'
  version: 1.9.2
tags:


# --- truncated at 32 KB (348 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gingr/refs/heads/main/openapi/gingr-bookings-api-openapi.yml