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

# Post bookings



## OpenAPI

````yaml https://app.boothzen.com/api/v1/openapi.json post /bookings
openapi: 3.1.0
info:
  title: BoothZen API v1
  version: '1.0'
  description: >-
    Public REST API v1 for BoothZen booking management. Authenticate with
    `Authorization: Bearer bz_live_…` or `bz_test_…` keys.
servers:
  - url: https://api.boothzen.com/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /bookings:
    post:
      tags:
        - Booking
      operationId: booking.store
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreBookingRequest'
      responses:
        '201':
          description: >-
            Single resource: bare envelope (NOT {data:...}) per Stripe
            convention
          content:
            application/json:
              schema:
                type: string
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
        - bearerAuth: []
components:
  schemas:
    StoreBookingRequest:
      type: object
      description: |-
        Phase 140-03: Store booking via Public API.
        Scope enforcement handled upstream by EnforceApiScope middleware.
      properties:
        customer_id:
          type: string
        event_date:
          type: string
          format: date-time
        event_start_time:
          type:
            - string
            - 'null'
        event_end_time:
          type:
            - string
            - 'null'
        event_type:
          type:
            - string
            - 'null'
          maxLength: 100
        status:
          type:
            - string
            - 'null'
          maxLength: 50
        package_id:
          type:
            - string
            - 'null'
        unit_id:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
          maxLength: 5000
        metadata:
          type:
            - array
            - 'null'
          items:
            type:
              - string
              - 'null'
            maxLength: 500
          maxItems: 50
      required:
        - customer_id
        - event_date
      title: StoreBookingRequest
  responses:
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Bearer token: `bz_live_<32chars>` (live mode) or `bz_test_<32chars>`
        (test mode). Obtain via BoothZen admin → Settings → API Keys.
      scheme: bearer
      bearerFormat: BZ-API-Key

````