---
title: "Create an availability rule for a bookable area"
method: POST
path: "/shop/bookable-areas/{bookableAreaId}/availability-rules"
tags: ["BookableAreas"]
---

# Create an availability rule for a bookable area

`POST /shop/bookable-areas/{bookableAreaId}/availability-rules`

Adds a new `AvailabilityRule` to a `BookableArea`. With
`is_available: true` the rule opens new bookable windows; with
`is_available: false` it blocks them. Omitting date/time/weekday
filters means the rule applies always.

`date_from` defaults to today in the area's timezone when omitted.

Requires the `SETTINGS_MANAGE` permission on the area's site.

## Request body

- UpdateBookableAreaAvailabilityRuleContentApplication1jsonSchema — unresolved $ref

## Response `201`

A single `AvailabilityRule`.

- object
  - `data` AvailabilityRule, required
    - `id` string, object-id, required — The ID of the availability rule.
    - `date_from` string, date, required — The start of the rule period.
    - `date_to` string, date, required — The end of the rule period.
    - `is_available` boolean, required — Whether the resource is available during this period. Any `false` rules will override `true` rules.
    - `max_duration` integer — Maximum number of minutes.
    - `min_duration` integer — Minimum number of minutes.
    - `time_from` string, required — The daily start time of the time period, in 24 hour format.
    - `time_to` string, required — The daily end time of the time period, in 24 hour format.
    - `weekdays` string[] — The weekdays this rule applies to.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
