> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maple.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Get booking configuration

> Reads the native booking configuration from the effective catalog, with its content `revision`.

GET`https://api.maple.inc/v1/locations/{locationId}/booking_configuration`API key

Reads the native booking configuration from the effective catalog, with its content `revision`. Requires bookings:read and a location grant. Returns 404 when no configuration has been authored.

## Authorization

Send your API key as `Authorization: Bearer <key>`: `mpk_test_…` against the sandbox (`https://api.staging.maple.inc/v1`), `mpk_live_…` against production. See [Authentication](https://docs.maple.inc/developer-api/concepts/authentication.md). The samples read the key from `MAPLE_KEY` and the base URL from `MAPLE_BASE`, as set up in the [Quickstart](https://docs.maple.inc/developer-api/quickstart.md).

## Parameters

- `locationId` string path required

## Responses

### 200 OK

- `timeZone` string required

- `currency` string required

- `areas` object\[] required

- `areas[].poolId` string required

- `areas[].name` string required

- `areas[].kind` string or null

- `areas[].units` object\[] required

- `areas[].units[].unitId` string required

- `areas[].units[].label` string or null

- `areas[].units[].seats` object required

- `areas[].units[].seats.min` integer or null

- `areas[].units[].seats.max` integer or null

- `areas[].units[].tags` string\[] or null

- `areas[].combinations` object\[] or null

- `areas[].combinations[].unitIds` string\[] required

- `areas[].combinations[].seats` object required

- `areas[].combinations[].seats.min` integer or null

- `areas[].combinations[].seats.max` integer or null

- `turnBands` object\[] required

- `turnBands[].minGuests` integer or null

- `turnBands[].maxGuests` integer or null

- `turnBands[].minutes` integer required

  At least 1.

- `shifts` object\[] required

- `shifts[].day` string required

  One of `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`, `SUN`.

- `shifts[].start` string required

- `shifts[].end` string required

- `pacing` object or null

- `pacing.intervalMinutes` integer required

  At least 1.

- `pacing.maxCovers` integer required

  At least 1.

- `pacing.enforcement` string required

  One of `hard`, `soft`.

- `bookingPolicy` object or null

- `bookingPolicy.minLeadMinutes` integer or null

- `bookingPolicy.maxHorizonDays` integer or null

- `bookingPolicy.slotAlignment` string or null

- `bookingPolicy.autoConfirm` boolean or null

- `cancellationPolicy` object or null

- `cancellationPolicy.requiresCardOnFile` boolean required

- `cancellationPolicy.tiers` object\[] required

- `cancellationPolicy.tiers[].withinHoursBeforeStart` integer required

  At least 0.

- `cancellationPolicy.tiers[].basis` string required

  One of `flat`, `percent_of_subtotal`, `full`.

- `cancellationPolicy.tiers[].flatAmountMinor` integer or null

- `cancellationPolicy.tiers[].percentBps` integer or null

- `cancellationPolicy.rescheduleCutoffHours` number or null

- `cancellationPolicy.policyText` string or null

- `closedDates` string\[] or null

- `revision` string required

  Content revision of the configuration. Send it back as `expected_revision` to publish safely.

- `object` string required

  Always `booking_configuration`.

- `location_id` string required

- `version_id` string required

- `published_at` string required

- `livemode` boolean required

### Errors

- `400` Bad request DeveloperApiBadRequest

- `401` Unauthorized DeveloperApiUnauthorized

- `403` Forbidden DeveloperApiForbidden

- `404` Not found DeveloperApiNotFound

- `422` Unprocessable DeveloperApiUnprocessable

- `429` Too many requests DeveloperApiRateLimited

Every error body names the error in `_tag`, explains it in `message`, and says where to report it in `feedback`. See [Errors](https://docs.maple.inc/developer-api/concepts/errors.md).

A `429` also sends `Retry-After`: Seconds to wait before retrying; also returned as retry\_after in the body.

Get booking configuration

```sh
curl "$MAPLE_BASE/locations/str_123/booking_configuration" \
  -H "Authorization: Bearer $MAPLE_KEY"
```

```python
import os
import requests


r = requests.get(
    f"{os.environ['MAPLE_BASE']}/locations/str_123/booking_configuration",
    headers={"Authorization": f"Bearer {os.environ['MAPLE_KEY']}"},
    timeout=30,
)
r.raise_for_status()
print(r.json())
```

```js
const res = await fetch(`${process.env.MAPLE_BASE}/locations/str_123/booking_configuration`, {
  headers: {
    Authorization: `Bearer ${process.env.MAPLE_KEY}`,
  },
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());
```

```json
{
  "timeZone": "string",
  "currency": "USD",
  "areas": [
    {
      "poolId": "string",
      "name": "string",
      "kind": "seat",
      "units": [
        {
          "unitId": "string",
          "label": "string",
          "seats": {
            "min": 1,
            "max": 1
          },
          "tags": [
            "string"
          ]
        }
      ],
      "combinations": [
        {
          "unitIds": [
            "string"
          ],
          "seats": {
            "min": 1,
            "max": 1
          }
        }
      ]
    }
  ],
  "turnBands": [
    {
      "minGuests": 1,
      "maxGuests": 1,
      "minutes": 1
    }
  ],
  "shifts": [
    {
      "day": "MON",
      "start": "18:00",
      "end": "18:00"
    }
  ],
  "pacing": {
    "intervalMinutes": 1,
    "maxCovers": 1,
    "enforcement": "hard"
  },
  "bookingPolicy": {
    "minLeadMinutes": 0,
    "maxHorizonDays": 1,
    "slotAlignment": "service_duration",
    "autoConfirm": true
  },
  "cancellationPolicy": {
    "requiresCardOnFile": true,
    "tiers": [
      {
        "withinHoursBeforeStart": 0,
        "basis": "flat",
        "flatAmountMinor": 0,
        "percentBps": 0
      }
    ],
    "rescheduleCutoffHours": 1.5,
    "policyText": "string"
  },
  "closedDates": [
    "string"
  ],
  "revision": "string",
  "object": "booking_configuration",
  "location_id": "str_123",
  "version_id": "string",
  "published_at": "string",
  "livemode": true
}
```

```json
{
  "_tag": "DeveloperApiBadRequest",
  "code": "string",
  "message": "string",
  "feedback": "string"
}
```
