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

# Enums

> Enums used in the Restoo API.

## Availability

### AvailabilityOutcome

| Enum                     | Description                                                                                                        |
| :----------------------- | :----------------------------------------------------------------------------------------------------------------- |
| `TENANT_CONFLICT`        | The request does not comply with the venue’s global booking rules; therefore, this type of booking is not allowed. |
| `WORK_DAY_FULL`          | The requested date is fully booked.                                                                                |
| `WORK_DAY_ENDED`         | All Shifts for the requested date have already ended.                                                              |
| `WORK_DAY_CLOSED`        | The venue is closed for the entire day.                                                                            |
| `SHIFT_NO_AVAILABILITY`  | The Shift has no availability for the request.                                                                     |
| `SHIFT_SHOULD_CONTACT`   | The customer **may** contact the venue to request a booking.                                                       |
| `SHIFT_MUST_CONTACT`     | The customer **must** contact the venue to request a booking.                                                      |
| `SHIFT_FULL`             | The Shift is fully booked.                                                                                         |
| `SHIFT_CONFLICT`         | The request does not meet the Shift’s specific booking rules.                                                      |
| `SHIFT_CLOSED`           | The requested Shift is closed, although other Shifts on the same day may still be available.                       |
| `SHIFT_NOT_FOUND`        | The requested Shift is not found, although other Shifts on the same day may still be available.                    |
| `BOOKING_SIZE_EXCEEDED`  | The requested booking size exceeds the limits defined for the Shift.                                               |
| `BOOKING_CONFLICT`       | The venue configuration does not allow this booking.                                                               |
| `BOOKING_FORBIDDEN`      | The venue explicitly rejects the booking request.                                                                  |
| `RESOURCE_NOT_AVAILABLE` | One or more of the requested resources exist but are not available under the current search context.               |

### AvailabilityCode

When `availability.isAvailable` is `false`, `code` is the field to branch on. The
`detail` beside it is a sentence written for a person and localized to the
request language — show it, never parse it.

Codes are listed here under the [outcome](#availabilityoutcome) they arrive
with, because the outcome is what decides the `fallbackOptions` you are offered.
One code can arrive under more than one outcome.

#### Codes you will never receive

Five codes are rewritten to `NO_AVAILABILITY` before the response leaves Restoo,
because saying why would leak something about the venue or another customer:
a banned customer, a duplicate-booking check, and the venue's internal limits on
children. `NO_AVAILABILITY` is not a catch-all for unknown failures — it means
there is a reason and it is deliberately not disclosed. Do not look for
something to change.

#### SHIFT\_CONFLICT

The largest group, and the one worth branching on: most of these are the
request disagreeing with the shift's rules, and many are fixed by sending
something different.

| Code                                                   | Meaning                                                         | Fix by changing                           |
| :----------------------------------------------------- | :-------------------------------------------------------------- | :---------------------------------------- |
| `SHIFT_BOOKING_FLOOR_PLAN_AREA_MUST_BE_DEFINED`        | The shift offers floor plan areas and none was sent.            | `floorPlanAreaId`                         |
| `SHIFT_TIME_SLOT_MINUTE_NOT_VALID`                     | The time sent is not one of the shift's slots.                  | The time, to one from `timeSlots[]`       |
| `SHIFT_BOOKING_SIZE_REQUIRES_EXPERIENCE`               | A booking this size must include an experience.                 | Add an experience                         |
| `SHIFT_MIN_BOOKING_SIZE_NOT_REACHED`                   | Below the shift's minimum booking size.                         | `pax` / `paxChildren`                     |
| `SHIFT_HIGH_CHAIRS_NOT_ALLOWED`                        | The shift does not accept high chairs.                          | `highChairs`                              |
| `SHIFT_STROLLERS_NOT_ALLOWED`                          | The shift does not accept strollers.                            | `strollers`                               |
| `SHIFT_PUBLIC_WAIT_LIST_NOT_ENABLED`                   | The shift has no public wait list.                              | `status` — do not offer the wait list     |
| `SHIFT_WAIT_LIST_BOOKINGS_COUNT_EXCEEDED`              | The shift's wait list is full.                                  | —                                         |
| `EXPERIENCE_AUTO_TICKETS_AND_BOOKING_SIZE_NOT_MATCH`   | The ticket count does not match the booking size.               | `experience.tickets`                      |
| `EXPERIENCE_MIN_TICKETS_PER_BOOKING_NOT_REACHED`       | Below the experience's minimum tickets.                         | `experience.tickets`                      |
| `EXPERIENCE_MIN_BOOKING_SIZE_NOT_REACHED`              | Below the experience's minimum booking size.                    | `pax` / `paxChildren`                     |
| `EXPERIENCE_MAX_BOOKING_SIZE_EXCEEDED`                 | Above the experience's maximum booking size.                    | `pax` / `paxChildren`                     |
| `EXPERIENCE_BOOKING_FLOOR_PLAN_AREA_NOT_ALLOWED`       | The experience requires a different area.                       | `floorPlanAreaId`                         |
| `EXPERIENCE_PUBLIC_BOOKINGS_NOT_ALLOWED`               | The experience is not open to online booking.                   | Another experience                        |
| `FLOOR_PLAN_AREA_EXPERIENCE_NOT_ALLOWED`               | That area does not take bookings with an experience.            | `floorPlanAreaId`                         |
| `FLOOR_PLAN_AREA_PUBLIC_BOOKINGS_NOT_ALLOWED`          | That area is not open to online booking.                        | `floorPlanAreaId`                         |
| `TIME_SLOT_NOT_AVAILABLE_FOR_EXPERIENCE`               | The slot does not run that experience.                          | The slot, or the experience               |
| `TIME_SLOT_MIN_BOOKING_SIZE_NOT_REACHED`               | Below the slot's minimum booking size.                          | `pax` / `paxChildren`                     |
| `TIME_SLOT_MAX_BOOKING_SIZE_EXCEEDED`                  | Above the slot's maximum booking size.                          | `pax` / `paxChildren`                     |
| `TIME_SLOT_BOOKINGS_NOT_ALLOWED`                       | The slot takes no bookings.                                     | Another slot                              |
| `TIME_SLOT_START_MIN_NOTICE_TIME_EXCEEDED`             | Too close to the slot's start time.                             | A later slot                              |
| `ADD_ON_MIN_BOOKING_SIZE_NOT_REACHED`                  | The booking is too small for that add-on.                       | `pax` / `paxChildren`, or drop the add-on |
| `ADD_ON_MAX_BOOKING_SIZE_EXCEEDED`                     | The booking is too large for that add-on.                       | `pax` / `paxChildren`, or drop the add-on |
| `ADD_ON_MIN_UNITS_NOT_REACHED`                         | Below that add-on's minimum quantity.                           | `addOns[].quantity`                       |
| `ADD_ON_MAX_UNITS_EXCEEDED`                            | Above that add-on's maximum quantity.                           | `addOns[].quantity`                       |
| `ADD_ON_GROUP_MIN_UNITS_NOT_REACHED`                   | Below the group's minimum total units.                          | `addOns`                                  |
| `ADD_ON_GROUP_MAX_UNITS_EXCEEDED`                      | Above the group's maximum total units.                          | `addOns`                                  |
| `ADD_ON_GROUP_MIN_UNITS_PER_PAX_NOT_REACHED`           | Below the group's minimum units per guest.                      | `addOns`                                  |
| `ADD_ON_GROUP_MAX_UNITS_PER_PAX_EXCEEDED`              | Above the group's maximum units per guest.                      | `addOns`                                  |
| `ADD_ON_GROUP_MAX_DISTINCT_TYPES_EXCEEDED`             | Too many different add-ons from the group.                      | `addOns`                                  |
| `ADD_ON_GROUP_MAX_DISTINCT_TYPES_PER_PAX_EXCEEDED`     | Too many different add-ons per guest.                           | `addOns`                                  |
| `ADD_ON_GROUP_REQUIRES_UNIQUE_ADD_ON_PER_BOOKING`      | Only one add-on from that group per booking.                    | `addOns`                                  |
| `ADD_ON_GROUP_BOOKING_SIZE_AND_ADD_ON_UNITS_NOT_MATCH` | Total units must equal the booking size.                        | `addOns`                                  |
| `ADD_ON_GROUP_NO_AVAILABLE_ADD_ONS`                    | Nothing in the group is available.                              | —                                         |
| `SHIFT_BOOKING_CHILDREN_TOTAL_EXCEEDED`                | Internal — you receive `NO_AVAILABILITY`.                       | —                                         |
| `SHIFT_BOOKING_CHILDREN_PERCENT_EXCEEDED`              | Internal — you receive `NO_AVAILABILITY`.                       | —                                         |
| `SHIFT_MAX_CHILDREN_COUNT_EXCEEDED`                    | Internal — you receive `NO_AVAILABILITY`.                       | —                                         |
| `TABLE_BOOKINGS_NOT_ALLOWED`                           | That table does not take bookings.                              | `tables`                                  |
| `TABLE_BOOKINGS_NOT_ALLOWED_ON_TIME_SLOT`              | That table does not take bookings at that time.                 | `tables`, or the time                     |
| `TABLE_BOOKING_SIZE_OUT_OF_RANGE`                      | The booking size does not fit that table.                       | `tables`, or the booking size             |
| `TABLE_COMBINATION_BOOKINGS_NOT_ALLOWED_ON_TIME_SLOT`  | That combination of tables does not take bookings at that time. | `tables`, or the time                     |
| `TABLE_COMBINATION_BOOKING_SIZE_OUT_OF_RANGE`          | The booking size does not fit that combination of tables.       | `tables`, or the booking size             |
| `TABLE_IS_OVERBOOKED`                                  | That table already has an overlapping booking.                  | `tables`                                  |

#### SHIFT\_FULL and SHIFT\_SHOULD\_CONTACT

Capacity has run out. These arrive as `SHIFT_SHOULD_CONTACT` when the shift
still takes bookings by phone, and as `SHIFT_FULL` when it does not — the same
code, two outcomes, decided by the venue's configuration.

| Code                                                                      | Meaning                                               |
| :------------------------------------------------------------------------ | :---------------------------------------------------- |
| `SHIFT_STATUS_FULL`                                                       | The shift is marked full.                             |
| `SHIFT_STATUS_CONTACT`                                                    | The shift only takes bookings by phone.               |
| `SHIFT_MAX_PAX_EXCEEDED`                                                  | No room left for that many guests in the shift.       |
| `SHIFT_TIME_SLOTS_NOT_AVAILABLE`                                          | No slot in the shift has availability.                |
| `SHIFT_TICKETS_NOT_AVAILABLE`                                             | The experience has no tickets left.                   |
| `SHIFT_AVAILABLE_TICKETS_EXCEEDED`                                        | Fewer tickets left than requested.                    |
| `SHIFT_AVAILABLE_TICKETS_EXCEEDED_FOR_EXPERIENCE_AUTO_TICKETS`            | Fewer left than the automatic ticket count needs.     |
| `SHIFT_AVAILABLE_TICKETS_EXCEEDED_FOR_EXPERIENCE_MIN_TICKETS_PER_BOOKING` | Fewer left than the experience's minimum per booking. |
| `FLOOR_PLAN_AREA_MAX_PAX_EXCEEDED`                                        | No room left for that many guests in the area.        |
| `TIME_SLOT_MAX_PAX_EXCEEDED`                                              | No room left for that many guests in the slot.        |
| `TIME_SLOT_PAX_CAPACITY_EXCEEDED`                                         | The shift's capacity for that slot is used up.        |
| `TIME_SLOT_FLOOR_PLAN_AREA_MAX_CAPACITY_EXCEEDED`                         | The area's capacity for that slot is used up.         |
| `TIME_SLOT_MAX_BOOKINGS_EXCEEDED`                                         | The slot already has as many bookings as it takes.    |
| `TIME_SLOT_HIGH_CHAIRS_CAPACITY_EXCEEDED`                                 | No high chairs left for that slot.                    |
| `TIME_SLOT_STROLLERS_CAPACITY_EXCEEDED`                                   | No stroller space left for that slot.                 |
| `TABLE_NOT_FOUND`                                                         | No table can be assigned.                             |

#### The remaining outcomes

| Outcome                  | Code                                                  | Meaning                                                                  |
| :----------------------- | :---------------------------------------------------- | :----------------------------------------------------------------------- |
| `TENANT_CONFLICT`        | `TENANT_MAX_BOOKING_SIZE_EXCEEDED`                    | Above the venue's maximum booking size.                                  |
| `TENANT_CONFLICT`        | `TENANT_BOOKING_MAX_NOTICE_DATE_EXCEEDED`             | Further ahead than the venue books.                                      |
| `WORK_DAY_CLOSED`        | `WORK_DAY_HAS_NO_SHIFTS`                              | The work day has no shifts.                                              |
| `WORK_DAY_CLOSED`        | `WORK_DAY_SHIFTS_STATUS_CLOSED`                       | Every shift that day is closed.                                          |
| `WORK_DAY_CLOSED`        | `WORK_DAY_SPECIAL_CLOSED`                             | Closed by a special day.                                                 |
| `WORK_DAY_ENDED`         | `WORK_DAY_SHIFTS_ENDED`                               | Every shift that day has finished.                                       |
| `WORK_DAY_ENDED`         | `DATE_IS_PAST`                                        | The date is in the past.                                                 |
| `WORK_DAY_FULL`          | `WORK_DAY_SHIFTS_STATUS_FULL`                         | Every shift that day is full.                                            |
| `SHIFT_CLOSED`           | `SHIFT_STATUS_CLOSED`                                 | That shift is closed.                                                    |
| `SHIFT_NOT_FOUND`        | `WORK_DAY_SHIFT_NOT_FOUND`                            | No shift covers the time sent.                                           |
| `SHIFT_NOT_FOUND`        | `SHIFT_ENDED`                                         | That shift has already finished.                                         |
| `SHIFT_NO_AVAILABILITY`  | `SHIFT_REQUIRES_EXPERIENCE_NO_EXPERIENCE_AVAILABLE`   | The shift needs an experience and none is available.                     |
| `SHIFT_MUST_CONTACT`     | `SHIFT_BOOKING_START_MIN_NOTICE_TIME_EXCEEDED`        | Too close to the booking time.                                           |
| `SHIFT_MUST_CONTACT`     | `SHIFT_FIRST_BOOKING_AT_MIN_NOTICE_TIME_EXCEEDED`     | Too close to the shift's first booking time.                             |
| `SHIFT_MUST_CONTACT`     | `EXPERIENCE_MIN_NOTICE_TIME_EXCEEDED`                 | Too close for that experience.                                           |
| `SHIFT_MUST_CONTACT`     | `ADD_ON_MIN_NOTICE_TIME_EXCEEDED`                     | Too close for that add-on.                                               |
| `BOOKING_SIZE_EXCEEDED`  | `SHIFT_MAX_BOOKING_SIZE_EXCEEDED`                     | Above the shift's maximum booking size.                                  |
| `BOOKING_SIZE_EXCEEDED`  | `SHIFT_LARGE_BOOKINGS_NOT_ALLOWED`                    | The shift takes no group bookings.                                       |
| `BOOKING_SIZE_EXCEEDED`  | `SHIFT_LARGE_BOOKINGS_MUST_CONTACT_TO_BOOK`           | Group bookings go through the venue.                                     |
| `BOOKING_SIZE_EXCEEDED`  | `SHIFT_LARGE_BOOKING_START_MIN_NOTICE_TIME_EXCEEDED`  | Too close for a group booking.                                           |
| `RESOURCE_NOT_AVAILABLE` | `SHIFT_EXPERIENCE_NOT_AVAILABLE`                      | That experience is not available for the shift.                          |
| `RESOURCE_NOT_AVAILABLE` | `SHIFT_EXPERIENCE_NOT_ACTIVE`                         | That experience is not active for the shift.                             |
| `RESOURCE_NOT_AVAILABLE` | `WORK_DAY_EXPERIENCE_NOT_AVAILABLE`                   | No shift that day runs the experience.                                   |
| `RESOURCE_NOT_AVAILABLE` | `SHIFT_EXPERIENCE_FLOOR_PLAN_AREA_NOT_AVAILABLE`      | The shift lacks the area the experience needs.                           |
| `RESOURCE_NOT_AVAILABLE` | `SHIFT_FLOOR_PLAN_AREA_NOT_AVAILABLE`                 | That area is not available for the shift.                                |
| `RESOURCE_NOT_AVAILABLE` | `SHIFT_TABLE_NOT_AVAILABLE`                           | That table is not available for the shift.                               |
| `BOOKING_CONFLICT`       | `DATE_TIME_IS_PAST`                                   | The date and time are in the past.                                       |
| `BOOKING_CONFLICT`       | `TIME_INTERVAL_NOT_VALID`                             | The time is not on a valid interval.                                     |
| `BOOKING_CONFLICT`       | `SHIFT_PHONE_OVERLAPPED`                              | That phone already has an overlapping booking.                           |
| `BOOKING_CONFLICT`       | `EXCLUDE_BOOKING_STATUS_CONFLICT`                     | The `excludeBookingUuid` booking is in a status that cannot be excluded. |
| `BOOKING_CONFLICT`       | `UPDATE_NOT_ALLOWED_BOOKING_IS_PENALIZABLE`           | The booking is inside its penalty window.                                |
| `BOOKING_CONFLICT`       | `UPDATE_NOT_ALLOWED_BOOKING_WITH_CANCELLATION_POLICY` | Its cancellation policy blocks the change.                               |
| `BOOKING_CONFLICT`       | `UPDATE_NOT_ALLOWED_BOOKING_WITH_PRODUCT`             | It has a product attached.                                               |
| `BOOKING_FORBIDDEN`      | `CUSTOMER_IS_BANNED`                                  | Internal — you receive `NO_AVAILABILITY`.                                |
| `BOOKING_FORBIDDEN`      | `SHIFT_IP_OVERLAPPED`                                 | Internal — you receive `NO_AVAILABILITY`.                                |

### AvailabilityFallbackOption

Indicates the action suggested to the customer when the request has no availability.

| Enum                         | Description                                                                              |
| :--------------------------- | :--------------------------------------------------------------------------------------- |
| `CONTACT`                    | Suggests that the customer should contact the venue directly.                            |
| `REQUEST_BOOKING`            | Offers the option to submit a booking request (must be confirmed manually by the venue). |
| `JOIN_WAIT_LIST`             | Offers the option to join the wait list.                                                 |
| `SEARCH_ALTERNATIVE_DATES`   | Suggests searching availability for other dates.                                         |
| `SEARCH_ALTERNATIVE_TENANTS` | Suggests searching availability in sibling venues belonging to the same group.           |
| `UPDATE_SEARCH`              | Suggests modifying the current search parameters (e.g., PAX, experience, shift).         |

### ChildrenSeatingAvailabilityType

| Enum        | Description                        |
| :---------- | :--------------------------------- |
| `LIMITED`   | Available but limited in quantity. |
| `UNLIMITED` | Available without a maximum limit. |
| `FORBIDDEN` | Not allowed for this Shift.        |

## Booking

### BookingCancelReason

| Enum                   | Description                                                    |
| :--------------------- | :------------------------------------------------------------- |
| `CALL_TO_CANCEL`       | The customer has called the venue to cancel their reservation. |
| `UPDATE_BOOKING`       | The customer wants to modify the booking.                      |
| `UNEXPECTED_SITUATION` | The customer had an unexpected situation.                      |
| `BOOKED_ANOTHER_PLACE` | The customer decided to book another venue.                    |
| `CHANGED_PLANS`        | The customer changed plans.                                    |
| `OTHER`                | Other reason.                                                  |
| `REVOKE_LEGAL_CONSENT` | Withdraw legal consent.                                        |

### BookingChannel

| Enum      | Description            |
| :-------- | :--------------------- |
| `WIDGET`  | Restoo booking widget. |
| `OFFLINE` | Restoo back office.    |
| `API`     | Restoo API.            |

### BookingSpecialOccasion

| Enum       | Description          |
| :--------- | :------------------- |
| `WEDDING`  | Wedding anniversary. |
| `BIRTHDAY` | Birthday.            |
| `ROMANTIC` | Romantic date.       |
| `FRIENDS`  | Friends gathering.   |
| `FAMILY`   | Family gathering.    |
| `BUSINESS` | Business meeting.    |
| `OTHER`    | Other.               |

### BookingStatus

| Enum                            | Description                                                                                                  |
| :------------------------------ | :----------------------------------------------------------------------------------------------------------- |
| `REQUESTED`                     | The customer has submitted a booking request, but it is not yet being processed by the venue.                |
| `PENDING_MERCHANT_CONFIRMATION` | The customer has submitted a booking request, but it has not yet been confirmed by the venue.                |
| `PENDING_WAIT_LIST_BOOKING`     | The customer is on a booking wait list. The reservation may be confirmed if another customer cancels theirs. |
| `CONFIRMED`                     | The booking is confirmed by the venue and the customer.                                                      |
| `ARRIVED`                       | The customer has arrived for their booking but is not yet seated.                                            |
| `WAIT_LIST_WALK_IN`             | The customer does not have a reservation and is waiting for an available spot.                               |
| `SEATED`                        | The customer is seated at their table.                                                                       |
| `DESSERTS`                      | The customer has ordered desserts.                                                                           |
| `ACCOUNT_SENT`                  | The bill has been sent but has not yet been paid.                                                            |
| `ACCOUNT_PAID`                  | The bill has been paid, but the customer is still at the table.                                              |
| `ATTENDED`                      | The customer attended their booking, and it has concluded (the table has been freed).                        |
| `CANCELED`                      | The booking was canceled before the scheduled time.                                                          |
| `NO_SHOW`                       | The customer did not show up for their booking.                                                              |
| `DECLINED_BY_MERCHANT`          | The venue declined the customer’s booking request.                                                           |
| `DELETED`                       | The booking was deleted by the venue.                                                                        |

## CancellationPolicy

### CancellationPolicyAmountType

| Enum          | Description                                                           |
| :------------ | :-------------------------------------------------------------------- |
| `PER_PAX`     | The amount is agreed per diner in the booking.                        |
| `PER_BOOKING` | The amount is agreed per booking, regardless of the number of diners. |

### CancellationPolicyConditionsLine

| Enum         | Description                                   |
| :----------- | :-------------------------------------------- |
| `PAX`        | Line quantity defined per PAX in the booking. |
| `BOOKING`    | Line quantity defined per booking.            |
| `EXPERIENCE` | Line quantity defined per experience.         |
| `ADD_ON`     | Line quantity defined per add-on.             |

### CancellationPolicyStatus

| Enum                | Description                                                                                     |
| :------------------ | :---------------------------------------------------------------------------------------------- |
| `PENDING_SIGNATURE` | Signature pending from the customer.                                                            |
| `SIGNATURE_EXPIRED` | The customer did not sign within the allowed timeframe; the booking was automatically canceled. |
| `ACTIVE`            | Signature completed and accepted by the customer.                                               |
| `COMPLETED`         | Booking completed without violating the cancellation policy.                                    |
| `REVOKED`           | The cancellation policy was revoked.                                                            |
| `PENALTY_PARTIAL`   | Penalty applied for a partial cancellation within the penalty window.                           |
| `PENALTY_CANCEL`    | Penalty applied for a full cancellation within the penalty window.                              |
| `PENALTY_NO_SHOW`   | Penalty applied for a no-show.                                                                  |

### CancellationPolicyType

| Enum                      | Description                                                                 |
| :------------------------ | :-------------------------------------------------------------------------- |
| `NONE`                    | The booking has no Cancellation Policy.                                     |
| `GUARANTEE_AUTHORIZATION` | The customer must provide their credit card as a guarantee for the booking. |
| `PREPAYMENT`              | The customer must pay an advance to confirm their booking.                  |

## Customer

### CustomerLanguage

| Enum (ISO 639 format) | Description |
| :-------------------- | :---------- |
| `ca`                  | Catalan     |
| `de`                  | German      |
| `en`                  | English     |
| `es`                  | Spanish     |
| `eu`                  | Basque      |
| `fr`                  | French      |
| `it`                  | Italian     |
| `pt`                  | Portuguese  |

## Shared

### Country

| Enum (ISO 3166 format) | Description |
| :--------------------- | :---------- |
| `ES`                   | Spain       |
| `IT`                   | Italy       |
| `US`                   | USA         |
| ...                    | ...         |

### Currency

| Enum (ISO 4217 format) | Description          |
| :--------------------- | :------------------- |
| `EUR`                  | Euro                 |
| `USD`                  | United States dollar |
| `GBP`                  | Great Britain pound  |
| `MXN`                  | Mexican peso         |
| `DOP`                  | Dominican peso       |

### ImageType

| Enum        | Description           |
| :---------- | :-------------------- |
| `THUMBNAIL` | Thumbnail image type. |
| `DETAIL`    | Detail image type.    |

## Shift

### ShiftAvailabilityStatus

| Enum      | Description                                                                                 |
| :-------- | :------------------------------------------------------------------------------------------ |
| `OPEN`    | The Shift accepts bookings.                                                                 |
| `CONTACT` | The Shift accepts bookings, but the customer must contact the venue to arrange it manually. |
| `FULL`    | The Shift capacity is full, and no more bookings are accepted.                              |
| `CLOSED`  | The Shift does not accept bookings.                                                         |

### ShiftType

| Enum           | Description             |
| :------------- | :---------------------- |
| `LUNCH`        | Lunch                   |
| `LUNCH_LATAM`  | Lunch (LATAM localized) |
| `DINNER`       | Dinner                  |
| `SNACK`        | Snack                   |
| `BREAKFAST`    | Breakfast               |
| `BRUNCH`       | Brunch                  |
| `SUNBED`       | Sunbed                  |
| `BALINESE_BED` | Balinese Bed            |
| `COCKTAILS`    | Cocktails               |
| `AFTER_HOUR`   | After Hour              |
| `HAPPY_HOUR`   | Happy Hour              |
| `EVENT`        | Event                   |
| `VERMOUTH`     | Vermouth                |
| `TARDEO`       | Tardeo                  |
| `APERITIF`     | Aperitif                |
| `TASTING`      | Tasting                 |
