openapi: 3.0.2
info:
  title: Spacebring
  version: 1.0.0
  termsOfService: https://www.spacebring.com/terms
servers:
  - url: https://api.spacebring.com
paths:
  /alt_currencies/v1:
    get:
      tags:
        - Alternative currencies
      summary: Retrieve alternative currencies
      description: 'Retrieve all alternative currencies in the location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getAltCurrencies
      parameters:
        - name: locationRef
          in: query
          description: The id of the location
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
          required: false
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return.
          required: false
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  altCurrencies:
                    type: array
                    items:
                      $ref: '#/components/schemas/altCurrency'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Alternative currencies
      summary: Create an alternative currency
      description: 'Create an alternative currency. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createAltCurrency
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      requestBody:
        $ref: '#/components/requestBodies/createAltCurrency'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  altCurrency:
                    $ref: '#/components/schemas/altCurrency'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /alt_currencies/v1/{id}:
    delete:
      tags:
        - Alternative currencies
      summary: Delete an alternative currency
      description: 'Delete an alternative currency. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteAltCurrency
      parameters:
        - name: id
          in: path
          description: The id of the alternative currency
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Alternative currencies
      summary: Update an alternative currency
      description: 'Update an alternative currency. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateAltCurrency
      parameters:
        - in: path
          name: id
          description: The id of the alternative currency
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      requestBody:
        $ref: '#/components/requestBodies/updateAltCurrency'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/categories/v1:
    get:
      tags:
        - Benefits
      summary: Retrieve categories
      description: 'Retrieve all benefit categories in the location. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefitCategories
      parameters:
        - in: query
          name: locationRef
          required: true
          description: UUID of the location whose benefit categories to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits.readonly
            - benefits
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefitCategories'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Benefits
      summary: Create a category
      description: 'Create a benefit category. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: createBenefitCategory
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createBenefitCategory'
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  category:
                    $ref: '#/components/schemas/benefitCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/categories/v1/{categoryId}:
    get:
      tags:
        - Benefits
      summary: Get a category
      description: 'Get a benefit category. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefitCategory
      parameters:
        - in: path
          name: categoryId
          required: true
          description: The id of the benefit category.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
            - benefits.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefitCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Benefits
      summary: Delete a category
      description: 'Delete a benefit category. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: deleteBenefitCategory
      parameters:
        - in: path
          name: categoryId
          description: The id of the benefit category
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Benefits
      summary: Update a category
      description: 'Update a benefit category. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: updateBenefitCategory
      parameters:
        - in: path
          name: categoryId
          description: The id of the benefit category
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateBenefitCategory'
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  category:
                    $ref: '#/components/schemas/benefitCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/v1:
    get:
      tags:
        - Benefits
      summary: Retrieve benefits
      description: 'Retrieve all benefits in the location. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefits
      parameters:
        - in: query
          name: categoryRef
          required: false
          description: UUID of the benefit category.
          schema:
            type: string
            format: uuid
        - in: query
          name: featured
          required: false
          description: Filter by featured status. Pass true or false.
          schema:
            type: boolean
        - in: query
          name: limit
          required: false
          description: Maximum number of benefits per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits.readonly
            - benefits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefits'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Benefits
      summary: Create a benefit
      description: 'Create a benefit. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: createBenefit
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      requestBody:
        $ref: '#/components/requestBodies/createBenefit'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/benefit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/v1/{benefitId}:
    get:
      tags:
        - Benefits
      summary: Retrieve a benefit
      description: 'Retrieve a benefit. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefit
      parameters:
        - in: path
          name: benefitId
          required: true
          description: The id of the benefit.
          schema:
            type: string
            format: uuid
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits.readonly
            - benefits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Benefits
      summary: Delete a benefit
      description: 'Delete a benefit. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: deleteBenefit
      parameters:
        - name: benefitId
          in: path
          description: The id of the benefit
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Benefits
      summary: Update a benefit
      description: 'Update a benefit. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: updateBenefit
      parameters:
        - in: path
          name: benefitId
          description: The id of the benefit
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      requestBody:
        $ref: '#/components/requestBodies/updateBenefit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  benefit:
                    $ref: '#/components/schemas/benefit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/v1/media:
    post:
      tags:
        - Benefits
      summary: Create a media upload
      description: 'Create a media upload for a benefit cover image. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>media[0].key</code> when creating or updating a benefit within an hour; an image that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: createBenefitMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createBenefitMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createBenefitMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/applications/v1:
    get:
      tags:
        - Benefits
      summary: Retrieve applications
      description: 'Retrieve all benefit applications in the location or for certain benefit. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefitApplications
      parameters:
        - in: query
          name: benefitRef
          required: false
          description: UUID of the benefit.
          schema:
            type: string
            format: uuid
        - in: query
          name: categoryRef
          required: false
          description: Comma-separated benefit category UUIDs, e.g. `uuid1,uuid2`.
          schema:
            type: string
        - in: query
          name: createDate[gte]
          required: false
          description: Filter applications submitted on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter applications submitted on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose applications to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of applications per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: userRef
          required: false
          description: UUID of the user whose applications to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits.readonly
            - benefits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefitApplications'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Benefits
      summary: Apply for a benefit
      description: 'Apply for a benefit. <h3>OAuth</h3>Required scopes: <code>benefits</code>'
      operationId: applyBenefit
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits
      requestBody:
        $ref: '#/components/requestBodies/createBenefitApplication'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  application:
                    $ref: '#/components/schemas/benefitApplication'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /benefits/applications/v1/{benefitApplicationId}:
    get:
      tags:
        - Benefits
      summary: Retrieve an application
      description: 'Retrieve a benefit application by id. <h3>OAuth</h3>Required scopes: <code>benefits.readonly</code> or <code>benefits</code>'
      operationId: getBenefitApplication
      parameters:
        - in: path
          name: benefitApplicationId
          required: true
          description: The id of the benefit application.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - benefits.readonly
            - benefits
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBenefitApplication'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1:
    get:
      tags:
        - Billing
      summary: Retrieve invoices
      description: 'Retrieve all invoices based on certain parameters. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getInvoices
      parameters:
        - in: query
          name: companyRef
          required: false
          description: Deprecated. Use customerRef instead. UUID of the company whose invoices to list.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: createDate[gte]
          required: false
          description: Filter invoices created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter invoices created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose invoices to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: issueDate[gte]
          required: false
          description: Filter invoices issued on or after this date (ISO 8601). Use with issueDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: issueDate[lte]
          required: false
          description: Filter invoices issued on or before this date (ISO 8601). Use with issueDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of invoices per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose invoices to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: membershipRef
          required: false
          description: Deprecated. Use customerRef instead. UUID of the membership whose invoices to list.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: q
          required: false
          description: Case-insensitive search by invoice code or number. Requires customerRef or locationRef.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by invoice status. Comma-separated values, e.g. `draft,issued`.

            Supported values:
            - **draft** — created but not sent
            - **issued** — sent to the customer but unpaid
            - **paid** — fully paid
            - **voided** — cancelled and no longer valid
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getInvoices'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Billing
      summary: Create an invoice
      description: Create an invoice for a member or a company.
      operationId: createInvoice
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createInvoice'
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/invoice'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}:
    get:
      tags:
        - Billing
      summary: Retrieve an invoice
      description: 'Retrieve a certain invoice. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getInvoice
      parameters:
        - in: path
          name: invoiceId
          required: true
          description: The id of the invoice.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getInvoice'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Billing
      summary: Update an invoice
      description: 'Update a draft invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/patchInvoice'
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Billing
      summary: Delete an invoice
      description: 'Delete a draft invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/cancel_payment:
    post:
      tags:
        - Billing
      summary: Cancel a payment
      description: 'Cancel a payment on an invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: cancelInvoicePayment
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/duplicate:
    post:
      tags:
        - Billing
      summary: Duplicate an invoice
      description: 'Duplicate an invoice, creating a new draft invoice with the same items. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: duplicateInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/invoice'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/issue:
    post:
      tags:
        - Billing
      summary: Issue an invoice
      description: 'Issue (finalize) a draft invoice, making it ready for payment. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: issueInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/issueInvoice'
      security:
        - OAuth2:
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/invoice'
                  invoiceItems:
                    type: array
                    items:
                      $ref: '#/components/schemas/invoiceItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/pay:
    post:
      tags:
        - Billing
      summary: Pay an invoice
      description: 'Mark an invoice as paid by <code>External Payment</code>. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: payInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/payInvoice'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/invoice'
                  payment:
                    $ref: '#/components/schemas/invoicePayment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/resend:
    post:
      tags:
        - Billing
      summary: Resend an invoice
      description: 'Resend an issued invoice notification to the customer. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: resendInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/{invoiceId}/void:
    patch:
      tags:
        - Billing
      summary: Void an invoice
      description: 'Void an issued invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: voidInvoice
      parameters:
        - name: invoiceId
          in: path
          description: The id of an invoice.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/items:
    get:
      tags:
        - Billing
      summary: List invoice items
      description: 'List invoice items filtered by customer, location, invoice, type, status, pending, or date range. Pass invoiceRef for the items of one invoice; they page like the rest of the list. The createDate filter matches when the item was created; the status and issueDate filters match the invoice the item is on, so they return only items connected to an invoice. Pending items are not on an invoice and not part of a subscription: pass pending=true with customerRef for one customer''s pending items, or with locationRef for every pending item at a location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: listInvoiceItems
      parameters:
        - in: query
          name: createDate[gte]
          required: false
          description: Filter invoice items created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter invoice items created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose invoice items to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: issueDate[gte]
          required: false
          description: Filter invoice items on invoices issued on or after this date (ISO 8601). Items not on an issued invoice are excluded. Use with issueDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: issueDate[lte]
          required: false
          description: Filter invoice items on invoices issued on or before this date (ISO 8601). Items not on an issued invoice are excluded. Use with issueDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of invoice items per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose invoice items to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by the status of the invoice the item is on. Items not on an invoice are excluded. Comma-separated values, e.g. `draft,issued`.

            Supported values:
            - **draft** — created but not sent
            - **issued** — sent to the customer but unpaid
            - **paid** — fully paid
            - **voided** — cancelled and no longer valid
          schema:
            type: string
        - in: query
          name: invoiceRef
          required: false
          description: UUID of the invoice whose items to list, in place of customerRef or locationRef or with them. Pages and sorts like the rest of the list, and the other filters still apply.
          schema:
            type: string
            format: uuid
        - in: query
          name: pending
          required: false
          description: 'Filter by whether the item is pending: not on an invoice and not part of a subscription. Pass true or false.'
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - in: query
          name: type
          required: false
          description: Filter by invoice item type. Comma-separated values, e.g. `custom,order`.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getInvoiceItems'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Billing
      summary: Create an invoice item
      description: 'Create an item in an invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createInvoiceItem
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createInvoiceItem'
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoiceItem:
                    $ref: '#/components/schemas/invoiceItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/items/{id}:
    get:
      tags:
        - Billing
      summary: Retrieve an invoice item
      description: 'Retrieve a specific invoice item. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getInvoiceItem
      parameters:
        - name: id
          in: path
          description: The id of an invoice item.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoiceItem:
                    $ref: '#/components/schemas/invoiceItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Billing
      summary: Update an invoice item
      description: 'Update an invoice item on a draft invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateInvoiceItem
      parameters:
        - name: id
          in: path
          description: The id of an invoice item.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/patchInvoiceItem'
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Billing
      summary: Delete an invoice item
      description: 'Delete an invoice item from a draft invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteInvoiceItem
      parameters:
        - name: id
          in: path
          description: The id of an invoice item.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/items/upcoming:
    get:
      tags:
        - Billing
      summary: List upcoming invoice items
      description: 'List a customer''s pending invoice items. Deprecated: use <a href="/developer/api/billing/list-invoice-items">List invoice items</a> with <code>pending=true</code> and <code>customerRef</code> instead. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getUpcomingInvoiceItems
      deprecated: true
      parameters:
        - name: companyRef
          in: query
          description: The id of the company.
          schema:
            type: string
            format: uuid
        - name: customerRef
          in: query
          description: The id of the customer.
          schema:
            type: string
            format: uuid
        - name: membershipRef
          in: query
          description: The id of the membership.
          schema:
            type: string
            format: uuid
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoiceItems:
                    type: array
                    items:
                      $ref: '#/components/schemas/invoiceItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/invoices/v1/upcoming:
    get:
      tags:
        - Billing
      summary: Retrieve the upcoming invoice
      description: 'Retrieve the upcoming invoice preview for a membership or subscription. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getUpcomingInvoice
      parameters:
        - name: subscriptionRef
          in: query
          description: The id of the subscription.
          schema:
            type: string
            format: uuid
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/invoice'
                  invoiceItems:
                    type: array
                    items:
                      $ref: '#/components/schemas/invoiceItem'
                  upcomingItems:
                    type: array
                    items:
                      $ref: '#/components/schemas/invoiceItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/credit_notes/v1:
    get:
      tags:
        - Billing
      summary: Retrieve credit notes
      description: 'Retrieve all credit notes for a specific invoice or location. One of invoiceRef or locationRef is required. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getCreditNotes
      parameters:
        - in: query
          name: createDate[gte]
          required: false
          description: Filter credit notes created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter credit notes created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: invoiceRef
          required: false
          description: UUID of the invoice whose credit notes to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of credit notes per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose credit notes to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by credit note status. Comma-separated values, e.g. `issued,voided`.

            Supported values:
            - **issued** — active credit note
            - **voided** — cancelled and no longer valid
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCreditNotes'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden - User lacks permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found - Invoice or location not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Billing
      summary: Create a credit note
      description: 'Create a credit note for an invoice. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createCreditNote
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createCreditNote'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  creditNote:
                    $ref: '#/components/schemas/creditNote'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden - User lacks permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found - Invoice or invoice item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/credit_notes/v1/{id}:
    get:
      tags:
        - Billing
      summary: Retrieve a credit note
      description: 'Retrieve a specific credit note. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getCreditNote
      parameters:
        - name: id
          in: path
          description: The id of the credit note
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  creditNote:
                    $ref: '#/components/schemas/creditNote'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Billing
      summary: Update a credit note
      description: 'Update a credit note. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateCreditNote
      parameters:
        - name: id
          in: path
          description: The id of the credit note
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/patchCreditNote'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden - User lacks permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found - Credit note not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /billing/credit_notes/v1/preview:
    post:
      tags:
        - Billing
      summary: Preview a credit note
      description: 'Preview a credit note for an invoice without creating it. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: previewCreditNote
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/previewCreditNote'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  creditNote:
                    $ref: '#/components/schemas/creditNote'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden - User lacks permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found - Invoice or invoice item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /check_ins/v1:
    get:
      tags:
        - Check-ins
      summary: Retrieve check-ins
      description: 'Retrieve the check-ins of a location, newest arrival first. With bearer token authentication, the user must be an administrator of the location. <h3>OAuth</h3>Required scopes: <code>checkIns.readonly</code> or <code>checkIns</code>'
      operationId: getCheckIns
      parameters:
        - in: query
          name: checkInDate[gte]
          required: false
          description: Filter check-ins whose arrival is on or after this date (ISO 8601). Use with checkInDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: checkInDate[lte]
          required: false
          description: Filter check-ins whose arrival is on or before this date (ISO 8601). Use with checkInDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of check-ins per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: true
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: 'Filter by status: ''scheduled'' nobody has arrived yet, ''checkedIn'' the person is on site, ''checkedOut'' they left, ''expired'' the window closed with nobody arriving. Defaults to every status. Comma-separated, one or more of: checkedIn, checkedOut, scheduled, expired.'
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Filter by what the check-in is for: ''deskBooking'' and ''roomBooking'' a booking, ''eventTicket'' an event ticket, ''visit'' a visit, ''subscription'' a member arriving with their personal code. Defaults to every type. Comma-separated, one or more of: deskBooking, roomBooking, eventTicket, visit, subscription.'
          schema:
            type: string
        - in: query
          name: userRef
          required: false
          description: UUID of the user to filter check-ins by. Defaults to check-ins of every user.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - checkIns.readonly
            - checkIns
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCheckIns'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /check_ins/v1/{checkInId}:
    get:
      tags:
        - Check-ins
      summary: Get a check-in
      description: 'Get a check-in by its id. With bearer token authentication, the user must be an administrator of the check-in''s location. <h3>OAuth</h3>Required scopes: <code>checkIns.readonly</code> or <code>checkIns</code>'
      operationId: getCheckIn
      parameters:
        - in: path
          name: checkInId
          required: true
          description: The ID of the check-in.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - checkIns.readonly
            - checkIns
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCheckIn'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /check_ins/v1/checkin:
    post:
      tags:
        - Check-ins
      summary: Check in
      description: 'Record an arrival for a booking, an event ticket, a visit, or a member''s subscription. Identify what to check in with its check-in id, with the location and a six-digit code, or with the location and a customer ref to check a member in without a code. With bearer token authentication, the user must be an administrator of the location. <h3>OAuth</h3>Required scopes: <code>checkIns</code>'
      operationId: checkIn
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/checkIn'
      security:
        - BasicAuth: []
        - OAuth2:
            - checkIns
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCheckIn'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /check_ins/v1/checkout:
    post:
      tags:
        - Check-ins
      summary: Check out
      description: 'Record a departure on an open check-in. Identify it with its check-in id, or with the location and the six-digit code it was opened with. With bearer token authentication, the user must be an administrator of the location. <h3>OAuth</h3>Required scopes: <code>checkIns</code>'
      operationId: checkOut
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/checkOut'
      security:
        - BasicAuth: []
        - OAuth2:
            - checkIns
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCheckIn'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/companies/v1:
    get:
      tags:
        - Community
      summary: Retrieve companies
      description: 'Retrieve all companies. <h3>OAuth</h3>Required scopes: <code>community.readonly</code> or <code>community</code>'
      operationId: getCompanies
      parameters:
        - name: locationRef
          in: query
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
        - name: title
          in: query
          schema:
            type: string
          description: Filter by company's title
        - in: query
          name: types
          schema:
            type: string
            enum:
              - member
              - nonmember
          description: Filter by types. Pass them as comma separated values.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community.readonly
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/company'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Community
      summary: Create a company
      description: 'Create a company. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: createCompany
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createCompany'
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  company:
                    $ref: '#/components/schemas/company'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/companies/v1/{id}:
    get:
      tags:
        - Community
      summary: Retrieve a company
      description: 'Retrieve a certain company. <h3>OAuth</h3>Required scopes: <code>community.readonly</code> or <code>community</code>'
      operationId: getCompany
      parameters:
        - name: id
          in: path
          description: The id of company.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community.readonly
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  company:
                    $ref: '#/components/schemas/company'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Community
      summary: Update a company
      description: 'Update a certain company. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: updateCompany
      parameters:
        - name: id
          in: path
          description: The id of the company.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: object
                  properties:
                    billingAddress:
                      type: string
                    businessAddress:
                      type: object
                      properties:
                        city:
                          type: string
                        countryCode:
                          type: string
                        line1:
                          type: string
                        line2:
                          type: string
                        postalCode:
                          type: string
                        state:
                          type: string
                    legalName:
                      type: string
                    logo:
                      type: object
                      nullable: true
                      description: Logo of the company. Upload the file with Create a logo upload first. Set it to null to remove the logo; a key equal to the current logo keeps it.
                      properties:
                        key:
                          type: string
                          description: Storage key of the logo file, as returned by the media upload endpoint.
                      required:
                        - key
                    metadata:
                      $ref: '#/components/schemas/metadata'
                    notes:
                      type: string
                    taxId:
                      type: string
                    title:
                      type: string
              required:
                - company
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  company:
                    $ref: '#/components/schemas/company'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/companies/v1/media:
    post:
      tags:
        - Community
      summary: Create a logo upload
      description: 'Create an upload for a company logo. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>logo.key</code> when creating or updating a company within an hour; a logo that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: createCompanyMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createCompanyMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createCompanyMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/memberships/v1:
    get:
      tags:
        - Community
      summary: Retrieve memberships
      description: 'Retrieve all memberships. <h3>OAuth</h3>Required scopes: <code>memberships.readonly</code> or <code>memberships</code>'
      operationId: getMemberships
      parameters:
        - in: query
          name: companyRef
          schema:
            type: string
            format: uuid
          description: Filter by company reference
        - name: locationRef
          in: query
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
        - name: userEmail
          in: query
          schema:
            type: string
            format: email
          description: Filter by user's email
        - name: userRef
          in: query
          schema:
            type: string
            format: uuid
          description: The id of the user
        - in: query
          name: status
          schema:
            type: string
            enum:
              - requested
          description: use requested to get all membership requests
        - in: query
          name: types
          schema:
            type: string
            enum:
              - member
              - nonmember
          description: Filter by types. Pass them as comma separated values.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community.readonly
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  memberships:
                    type: array
                    items:
                      $ref: '#/components/schemas/membership'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Community
      summary: Create a membership
      description: 'Create a membership and send an email invitation to join if type is member. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: createMembership
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createMembership'
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  membership:
                    $ref: '#/components/schemas/membership'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/memberships/v1/{id}:
    get:
      tags:
        - Community
      summary: Retrieve a membership
      description: 'Retrieve a certain membership. <h3>OAuth</h3>Required scopes: <code>community.readonly</code> or <code>community</code>'
      operationId: getMembership
      parameters:
        - name: id
          in: path
          description: The id of membership.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community.readonly
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  membership:
                    $ref: '#/components/schemas/membership'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Community
      summary: Delete a membership
      description: 'Delete a certain membership. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: deleteMembership
      parameters:
        - name: id
          in: path
          description: The id of the membership.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Community
      summary: Update a membership
      description: 'Update a certain membership. <h3>OAuth</h3>Required scopes: <code>community</code>'
      operationId: updateMembership
      parameters:
        - name: id
          in: path
          description: The id of the membership.
          schema:
            format: int64
            type: integer
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                membership:
                  type: object
                  properties:
                    businessAddress:
                      type: object
                      properties:
                        city:
                          type: string
                        countryCode:
                          type: string
                        line1:
                          type: string
                        line2:
                          type: string
                        postalCode:
                          type: string
                        state:
                          type: string
                    legalName:
                      type: string
                    metadata:
                      $ref: '#/components/schemas/metadata'
                    taxId:
                      type: string
              required:
                - membership
      security:
        - BasicAuth: []
        - OAuth2:
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  membership:
                    $ref: '#/components/schemas/membership'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /community/memberships/v1/deleted:
    get:
      tags:
        - Community
      summary: Retrieve deleted memberships
      description: 'Retrieve all deleted memberships. <h3>OAuth</h3>Required scopes: <code>community.readonly</code> or <code>community</code>'
      operationId: getMembershipsDeleted
      parameters:
        - name: locationRef
          in: query
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - name: userEmail
          in: query
          schema:
            type: string
            format: email
          description: Filter by user's email
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - community.readonly
            - community
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  memberships:
                    type: array
                    items:
                      $ref: '#/components/schemas/membership'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1:
    get:
      tags:
        - Contracts
      summary: Retrieve contracts
      description: 'Retrieve all contracts in the location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getContracts
      parameters:
        - in: query
          name: createDate[gte]
          required: false
          description: Filter contracts created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter contracts created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer (membership or company). Provide customerRef or locationRef; when set, returns only that customer's contracts.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of contracts per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location. Provide customerRef or locationRef; when set, returns contracts in that location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: q
          required: false
          description: Case-insensitive search by contract title. Requires customerRef or locationRef to scope the search.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by contract status. Comma-separated values, e.g. `draft,issued`.

            Supported values:
            - **draft** — created but not sent
            - **issued** — sent, awaiting signature
            - **signed** — active
            - **declined** — rejected
            - **terminated** — cancelled after signing
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
            - invoices.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getContracts'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Contracts
      summary: Create a contract
      description: 'Create a contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createContract'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}:
    get:
      tags:
        - Contracts
      summary: Get a contract
      description: 'Get a contract. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
            - invoices.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Contracts
      summary: Update a contract
      description: 'Update a contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/updateContract'
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Contracts
      summary: Delete a contract
      description: 'Delete a contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}/issue:
    post:
      tags:
        - Contracts
      summary: Issue a contract
      description: 'Issue a contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: issueContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/issueContract'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}/resend:
    post:
      tags:
        - Contracts
      summary: Resend a contract
      description: 'Resend the signature request email to the next pending signer of an issued eSignature contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: resendContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}/signers/{signerId}/decline:
    put:
      tags:
        - Contracts
      summary: Decline a contract
      description: 'Mark a contract signer as declined. Declining also declines the contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: declineContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
        - in: path
          name: signerId
          required: true
          description: The id of the contract signer.
          schema:
            type: string
            format: uuid
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}/signers/{signerId}/sign:
    put:
      tags:
        - Contracts
      summary: Sign a contract
      description: 'Mark a contract signer as signed. When all signers have signed, the contract becomes signed. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: signContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
        - in: path
          name: signerId
          required: true
          description: The id of the contract signer.
          schema:
            type: string
            format: uuid
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/v1/{contractId}/terminate:
    patch:
      tags:
        - Contracts
      summary: Terminate a contract
      description: 'Terminate a contract. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: terminateContract
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: contractId
          required: true
          description: The id of the contract.
          schema:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/terminateContract'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/templates/v1:
    get:
      tags:
        - Contracts
      summary: Retrieve templates
      description: 'Retrieve all contract templates in the location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getTemplates
      parameters:
        - in: query
          name: limit
          required: false
          description: Maximum number of templates per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: true
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - OAuth2:
            - invoices
            - invoices.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTemplates'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Contracts
      summary: Create a template
      description: 'Create a contract template from a .docx file uploaded through the template upload endpoint. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createTemplate
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createTemplate'
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTemplate'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/templates/v1/media:
    post:
      tags:
        - Contracts
      summary: Create a template upload
      description: 'Create a media upload for a contract template file, a .docx document of up to 50 MB. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>template.file.key</code> when creating or updating a template within an hour; a file that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createTemplateMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createTemplateMedia'
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createTemplateMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/templates/v1/{templateId}:
    get:
      tags:
        - Contracts
      summary: Retrieve a template
      description: 'Retrieve a contract template. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getTemplate
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: templateId
          required: true
          description: The id of the template.
          schema:
            type: string
            format: uuid
      security:
        - OAuth2:
            - invoices
            - invoices.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTemplate'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Contracts
      summary: Update a template
      description: 'Update a contract template. A new file is uploaded through the template upload endpoint. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateTemplate
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: templateId
          required: true
          description: The id of the template.
          schema:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/updateTemplate'
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Contracts
      summary: Delete a template
      description: 'Delete a contract template. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteTemplate
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: templateId
          required: true
          description: The id of the template.
          schema:
            type: string
            format: uuid
      security:
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /contracts/templates/v1/{templateId}/duplicate:
    post:
      tags:
        - Contracts
      summary: Duplicate a template
      description: 'Duplicate a contract template, creating a copy with the same title and file. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: duplicateTemplate
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: templateId
          required: true
          description: The id of the template.
          schema:
            type: string
            format: uuid
      security:
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTemplate'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/coupons:
    get:
      tags:
        - Discounts
      summary: Retrieve coupons
      description: 'Retrieve all coupons in the location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getCoupons
      parameters:
        - in: query
          name: locationRef
          description: The id of the location
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: type
          description: Comma-separated list of coupon types to filter by
          schema:
            type: string
            enum:
              - creditPackages
              - desks
              - equipment
              - events
              - products
              - rooms
              - subscriptionItems
          required: false
        - in: query
          name: limit
          required: false
          description: 'The number of coupons to retrieve. Default: 25'
          schema:
            type: integer
            default: 25
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            $ref: '#/components/schemas/nextPageToken'
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  coupons:
                    type: array
                    items:
                      $ref: '#/components/schemas/coupon'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Discounts
      summary: Create a coupon
      description: 'Create a coupon. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createCoupon
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createCoupon'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  coupon:
                    $ref: '#/components/schemas/coupon'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/coupons/{id}:
    get:
      tags:
        - Discounts
      summary: Get a coupon
      description: 'Get a coupon. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getCoupon
      parameters:
        - in: path
          name: id
          description: The id of the coupon
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  coupon:
                    $ref: '#/components/schemas/coupon'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Discounts
      summary: Update a coupon
      description: 'Update a coupon. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: updateCoupon
      parameters:
        - in: path
          name: id
          description: The id of the coupon
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateCoupon'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Discounts
      summary: Delete a coupon
      description: 'Delete a coupon. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deleteCoupon
      parameters:
        - in: path
          name: id
          description: The id of the coupon
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/promocodes:
    get:
      tags:
        - Discounts
      summary: Retrieve promocodes
      description: 'Retrieve all promocodes. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getPromocodes
      parameters:
        - in: query
          name: locationRef
          description: The id of the location. At least one of locationRef or couponRef is required
          schema:
            type: string
            format: uuid
          required: false
        - in: query
          name: couponRef
          description: The id of the coupon. At least one of locationRef or couponRef is required
          schema:
            type: string
            format: uuid
          required: false
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  promocodes:
                    type: array
                    items:
                      $ref: '#/components/schemas/promocode'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Discounts
      summary: Create a promocode
      description: 'Create a promocode. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createPromocode
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createPromocode'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  promocode:
                    $ref: '#/components/schemas/promocode'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/promocodes/{id}:
    get:
      tags:
        - Discounts
      summary: Get a promocode
      description: 'Get a promocode. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getPromocode
      parameters:
        - in: path
          name: id
          description: The id of the promocode
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  promocode:
                    $ref: '#/components/schemas/promocode'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/promocodes/{id}/archive:
    put:
      tags:
        - Discounts
      summary: Archive a promocode
      description: 'Archive a promocode. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: archivePromocode
      parameters:
        - in: path
          name: id
          description: The id of the promocode
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  promocode:
                    $ref: '#/components/schemas/promocode'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /discounts/v1/redemptions:
    get:
      tags:
        - Discounts
      summary: Retrieve redemptions
      description: 'Retrieve all discount redemptions. Either couponRef or promocodeRef is required. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getDiscountRedemptions
      parameters:
        - in: query
          name: couponRef
          description: The id of the coupon. Either couponRef or promocodeRef is required
          schema:
            type: string
            format: uuid
          required: false
        - in: query
          name: promocodeRef
          description: The id of the promocode. Either couponRef or promocodeRef is required
          schema:
            type: string
            format: uuid
          required: false
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices.readonly
            - invoices
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  redemptions:
                    type: array
                    items:
                      $ref: '#/components/schemas/discountRedemption'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1:
    post:
      tags:
        - Events
      summary: Create an event
      description: 'Create an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: createEvent
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createEvent'
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  event:
                    $ref: '#/components/schemas/event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    get:
      tags:
        - Events
      summary: Retrieve events
      description: 'Retrieve events. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: getEventsByOrganization
      parameters:
        - in: query
          name: locationRef
          required: true
          description: The id of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: 'The number of events to retrieve. Default: 25'
          schema:
            type: integer
            default: 25
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            $ref: '#/components/schemas/nextPageToken'
        - in: query
          name: order
          description: The order of the events. createDate:asc, createDate:desc, startDate:asc, startDate:desc, endDate:asc, endDate:desc or relevance
          required: false
          schema:
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - events
            - events.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/event'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1/{id}:
    delete:
      tags:
        - Events
      summary: Delete an event
      description: 'Delete an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: deleteEvent
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Events
      summary: Update an event
      description: 'Update an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: updateEvent
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateEvent'
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  event:
                    $ref: '#/components/schemas/event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    get:
      tags:
        - Events
      summary: Retrieve an event
      description: 'Retrieve an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: getEvent
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - events
            - events.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  event:
                    $ref: '#/components/schemas/event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1/{id}/cancel:
    put:
      tags:
        - Events
      summary: Cancel an event
      description: 'Cancel an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: cancelEvent
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  event:
                    $ref: '#/components/schemas/event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1/{id}/copy:
    post:
      tags:
        - Events
      summary: Copy an event
      description: 'Copy an event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: copyEvent
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  event:
                    $ref: '#/components/schemas/event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1/{id}/hosts:
    put:
      tags:
        - Events
      summary: Add event hosts
      description: 'Add hosts to an event. Creates a free host ticket for each membership without one; existing attendee tickets are switched to the host role. Returns all tickets of the event. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: addEventHosts
      parameters:
        - in: path
          name: id
          description: The id of the event.
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tickets:
                  type: array
                  minItems: 1
                  description: Hosts to add to the event.
                  items:
                    type: object
                    properties:
                      membershipRef:
                        type: string
                        format: uuid
                        description: The id of the membership to add as a host.
                    required:
                      - membershipRef
              required:
                - tickets
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  tickets:
                    type: array
                    items:
                      $ref: '#/components/schemas/eventTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/v1/media:
    post:
      tags:
        - Events
      summary: Create a media upload
      description: 'Create a media upload for an event cover image. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>media[0].key</code> when creating or updating an event within an hour; an image that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: createEventMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createEventMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createEventMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/tickets/v1:
    get:
      tags:
        - Events
      summary: Retrieve tickets
      description: 'Retrieve all event tickets. <h3>OAuth</h3>Required scopes: <code>events.readonly</code> or <code>events</code>'
      operationId: getEventTickets
      parameters:
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose event tickets to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: eventRef
          required: false
          description: UUID of the event whose tickets to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: includeDeleted
          required: false
          description: Deprecated. Use status "canceled" instead. Set to "true" to include deleted event tickets.
          schema:
            deprecated: true
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of event tickets per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose event tickets to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by event ticket status. Comma-separated values, e.g. `active,canceled`. Defaults to `active` when omitted.

            Supported values:
            - **active** — the ticket is valid
            - **canceled** — the ticket was deleted
          schema:
            type: string
        - in: query
          name: userRef
          required: false
          description: UUID of the user whose event tickets to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - events.readonly
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  tickets:
                    type: array
                    items:
                      $ref: '#/components/schemas/eventTicket'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/tickets/v1/{id}:
    get:
      tags:
        - Events
      summary: Retrieve a ticket
      description: 'Retrieve an event ticket. <h3>OAuth</h3>Required scopes: <code>events.readonly</code> or <code>events</code>'
      operationId: getEventTicket
      parameters:
        - name: id
          in: path
          description: The id of the event ticket.
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - events.readonly
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ticket:
                    $ref: '#/components/schemas/eventTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Events
      summary: Update a ticket
      description: 'Update an event ticket. Only the ticket role can be changed. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: updateEventTicket
      parameters:
        - name: id
          in: path
          description: The id of the event ticket.
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ticket:
                  type: object
                  properties:
                    role:
                      type: string
                      enum:
                        - attendee
                        - host
                      description: Role of the ticket holder.
                  required:
                    - role
              required:
                - ticket
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ticket:
                    $ref: '#/components/schemas/eventTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Events
      summary: Delete a ticket
      description: 'Delete an event ticket. Returns the deleted ticket. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: deleteEventTicket
      parameters:
        - name: id
          in: path
          description: The id of the event ticket.
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ticket:
                    $ref: '#/components/schemas/eventTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /events/tickets/v1/{id}/checkin:
    post:
      tags:
        - Events
      summary: Check in a ticket
      description: 'Check in an event ticket. Fails if the ticket is already checked in. Deprecated: this endpoint will be removed in a future release. <h3>OAuth</h3>Required scopes: <code>events</code>'
      operationId: checkInEventTicket
      deprecated: true
      parameters:
        - name: id
          in: path
          description: The id of the event ticket.
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - events
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ticket:
                    $ref: '#/components/schemas/eventTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/posts/v1:
    get:
      tags:
        - Feed
      summary: Get posts
      description: 'Get feed posts. <h3>OAuth</h3>Required scopes: <code>feed.readonly</code> or <code>feed</code>'
      operationId: getFeedPosts
      parameters:
        - in: query
          name: locationRef
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
          required: false
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return.
          required: false
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - feed.readonly
            - feed
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  posts:
                    type: array
                    items:
                      $ref: '#/components/schemas/post'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Feed
      summary: Create a post
      description: 'Create a feed post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: createFeedPost
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createFeedPost'
      security:
        - OAuth2:
            - feed
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  post:
                    $ref: '#/components/schemas/post'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/posts/v1/{id}:
    get:
      tags:
        - Feed
      summary: Get a post
      description: 'Get a feed post. <h3>OAuth</h3>Required scopes: <code>feed</code> or <code>feed.readonly</code>'
      operationId: getFeedPost
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
            - feed.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  post:
                    $ref: '#/components/schemas/post'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Feed
      summary: Delete a post
      description: 'Delete a feed post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: deleteFeedPost
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Feed
      summary: Update a post
      description: 'Update a feed post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: updateFeedPost
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
      requestBody:
        $ref: '#/components/requestBodies/updateFeedPost'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  post:
                    $ref: '#/components/schemas/post'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/posts/v1/{id}/comments:
    get:
      tags:
        - Feed
      summary: Get comments for a post
      description: 'Get comments for a post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: getPostComments
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
            - feed.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  comments:
                    type: array
                    items:
                      $ref: '#/components/schemas/postComment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/posts/v1/{id}/likes:
    get:
      tags:
        - Feed
      summary: Get likes for a post
      description: 'Get likes for a post. <h3>OAuth</h3>Required scopes: <code>feed</code> or <code>feed.readonly</code>'
      operationId: getLikesForPost
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
            - feed.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  likes:
                    type: array
                    items:
                      $ref: '#/components/schemas/postLike'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Feed
      summary: Create a like for a post
      description: 'Create a like for a post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: createLikeForPost
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - feed
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  like:
                    $ref: '#/components/schemas/postLike'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Feed
      summary: Delete a like for a post
      description: 'Delete a like for a post. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: deleteLikeForPost
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the post.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - OAuth2:
            - feed
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/comments/v1:
    post:
      tags:
        - Feed
      summary: Create a post comment
      description: 'Create a feed post comment. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: createFeedPostComment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createFeedPostComment'
      security:
        - OAuth2:
            - feed
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  comment:
                    $ref: '#/components/schemas/postComment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/comments/v1/{id}:
    delete:
      tags:
        - Feed
      summary: Delete a post comment
      description: 'Delete a post comment. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: deletePostComment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - name: id
          in: path
          description: The id of the post comment.
          schema:
            type: string
            format: uuid
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
  /feed/comments/v1/{id}/likes:
    post:
      tags:
        - Feed
      summary: Create a like for a post comment
      description: 'Create a like for a post comment. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: createLikeForPostComment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - name: id
          in: path
          description: The id of the post comment.
          schema:
            type: string
            format: uuid
          required: true
      security:
        - OAuth2:
            - feed
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  like:
                    $ref: '#/components/schemas/postLike'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Feed
      summary: Delete a like for a post comment
      description: 'Delete a like for a post comment. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: deleteLikeForPostComment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - name: id
          in: path
          description: The id of the post comment.
          schema:
            type: string
            format: uuid
          required: true
      security:
        - OAuth2:
            - feed
      responses:
        '204':
          description: No content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /feed/v1/media:
    post:
      tags:
        - Feed
      summary: Create a media upload
      description: 'Create a media upload for an image or a video in a post. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key in <code>media[].key</code> when creating or updating a post within an hour; a file that is not attached by then is discarded. A video must declare its <code>width</code> and <code>height</code>; an image''s dimensions are read from the file. <h3>OAuth</h3>Required scopes: <code>feed</code>'
      operationId: createFeedPostMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createFeedPostMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - feed
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createFeedPostMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /floors/v1:
    get:
      tags:
        - Floors
      summary: Get floors
      description: 'Get floors. <h3>OAuth</h3>Required scopes: <code>floors.readonly</code> or <code>floors</code>'
      operationId: getFloors
      parameters:
        - name: limit
          in: query
          description: The limit of the floors.
          schema:
            type: integer
            format: int32
          required: false
        - name: locationRef
          in: query
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - name: nextPageToken
          in: query
          description: Token to retrieve the next page of results.
          schema:
            $ref: '#/components/schemas/nextPageToken'
          required: false
      security:
        - BasicAuth: []
        - OAuth2:
            - floors.readonly
            - floors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  floors:
                    type: array
                    items:
                      $ref: '#/components/schemas/floor'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /floors/v1/{id}:
    delete:
      tags:
        - Floors
      summary: Delete a floor
      description: 'Delete a floor. <h3>OAuth</h3>Required scopes: <code>floors</code>'
      operationId: deleteFloor
      parameters:
        - name: id
          in: path
          description: The id of the floor.
          schema:
            format: uuid
            type: string
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - floors
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /guides/v1:
    get:
      tags:
        - Guides
      summary: Retrieve guides
      description: 'Retrieve all guides for an organization. Requires locationRef. When using bearer token (non-basic auth), results are filtered by the user''s access. <h3>OAuth</h3>Required scopes: <code>support.readonly</code> or <code>support</code>'
      operationId: getGuides
      parameters:
        - in: query
          name: limit
          required: false
          description: Maximum number of guides per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: true
          description: UUID of the location whose guides to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - support
            - support.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getGuides'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Guides
      summary: Create a guide
      description: 'Create a guide in an organization. <h3>OAuth</h3>Required scopes: <code>support</code>. Admin (or equivalent) role in the organization is required.'
      operationId: createGuide
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createGuide'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  guide:
                    $ref: '#/components/schemas/guide'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /guides/v1/{guideId}:
    get:
      tags:
        - Guides
      summary: Retrieve a guide
      description: 'Retrieve a guide by id. <h3>OAuth</h3>Required scopes: <code>support.readonly</code> or <code>support</code>'
      operationId: getGuide
      parameters:
        - in: path
          name: guideId
          required: true
          description: The id of the guide.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - support
            - support.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getGuide'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Guides
      summary: Update a guide
      description: 'Update a guide. At least one guide property must be provided. <h3>OAuth</h3>Required scopes: <code>support</code>. Admin (or equivalent) role in the guide''s organization is required.'
      operationId: patchGuide
      parameters:
        - in: path
          name: guideId
          description: The id of the guide
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/patchGuide'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  guide:
                    $ref: '#/components/schemas/guide'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Guides
      summary: Delete a guide
      description: 'Delete a guide. <h3>OAuth</h3>Required scopes: <code>support</code>. Admin (or equivalent) role in the guide''s organization is required.'
      operationId: deleteGuide
      parameters:
        - in: path
          name: guideId
          description: The id of the guide
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /guides/v1/attachments:
    post:
      tags:
        - Guides
      summary: Create an attachment upload
      description: 'Create an upload for a file to attach to a guide, of any type up to 50 MB. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key in <code>attachments[].key</code> when creating or updating a guide within an hour; a file that is not attached by then is discarded. The file is served as a download under the declared name. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: createGuideAttachment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createGuideAttachment'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createGuideAttachment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /guides/v1/media:
    post:
      tags:
        - Guides
      summary: Create a media upload
      description: 'Create a media upload for an image or a video in a guide. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, add the returned url to the guide <code>description</code> as a Markdown image, <code>![alt text](url)</code>, when creating or updating a guide within an hour; a file that is not attached by then is discarded. A video must declare its <code>width</code> and <code>height</code>; an image''s dimensions are read from the file. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: createGuideMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createGuideMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createGuideMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /locations/v1:
    get:
      tags:
        - Locations
      summary: Retrieve all locations
      description: 'Retrieve all locations. <h3>OAuth</h3>Required scopes: <code>locations.readonly</code> or <code>locations</code>'
      operationId: getLocations
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - locations.readonly
            - locations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  locations:
                    type: array
                    items:
                      $ref: '#/components/schemas/location'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /locations/v1/{locationId}:
    get:
      tags:
        - Locations
      summary: Get a location
      description: 'Get a location. <h3>OAuth</h3>Required scopes: <code>locations.readonly</code> or <code>locations</code>'
      operationId: getLocation
      parameters:
        - in: path
          name: locationId
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the location.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - locations.readonly
            - locations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  location:
                    $ref: '#/components/schemas/location'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /networks/v1:
    get:
      tags:
        - Networks
      summary: Retrieve networks
      description: Retrieve all networks you are in.
      operationId: getNetworks
      security:
        - BasicAuth: []
        - OAuth2: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  networks:
                    type: array
                    items:
                      $ref: '#/components/schemas/network'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /packages/v1:
    get:
      tags:
        - Packages
      summary: Retrieve packages
      description: 'Retrieve all packages in the location. <h3>OAuth</h3>Required scopes: <code>invoices.readonly</code> or <code>invoices</code>'
      operationId: getPackages
      parameters:
        - in: query
          name: limit
          required: false
          description: Maximum number of packages per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: true
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
            - invoices.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getPackages'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Packages
      summary: Create a package
      description: 'Create a package. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: createPackage
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createPackage'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getPackage'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /packages/v1/{packageId}:
    patch:
      tags:
        - Packages
      summary: Update a package
      description: 'Update a package. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: patchPackage
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: packageId
          required: true
          description: The id of the package.
          schema:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/patchPackage'
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Packages
      summary: Delete a package
      description: 'Delete a package. <h3>OAuth</h3>Required scopes: <code>invoices</code>'
      operationId: deletePackage
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
        - in: path
          name: packageId
          required: true
          description: The id of the package.
          schema:
            type: string
            format: uuid
      security:
        - BasicAuth: []
        - OAuth2:
            - invoices
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /plans/v1:
    get:
      tags:
        - Plans
      summary: Retrieve plans
      description: 'Retrieve all plans. <h3>OAuth</h3>Required scopes: <code>plans.readonly</code> or <code>plans</code>'
      operationId: getPlans
      parameters:
        - in: query
          name: entire
          required: false
          description: Deprecated. Only applies together with resourceRef. Filter the plans.tiers of `GET /resources/v1/{resourceId}` by their entire field instead. When listing plans for a resource, filter by entire resource vs partial tiers. Pass true or false.
          schema:
            deprecated: true
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of plans per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose plans to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: resourceRef
          required: false
          description: Deprecated. Read plans.tiers from `GET /resources/v1/{resourceId}` instead. UUID of the resource whose tier plans to list.
          schema:
            deprecated: true
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - plans.readonly
            - plans
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getPlans'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Plans
      summary: Create a plan
      description: 'Create a plan. <h3>OAuth</h3>Required scopes: <code>plans</code>'
      operationId: createPlan
      requestBody:
        $ref: '#/components/requestBodies/createPlan'
      security:
        - BasicAuth: []
        - OAuth2:
            - plans
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  plan:
                    $ref: '#/components/schemas/plan'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Plans
      summary: Update plans
      description: 'Turn sign-up on with a type, or off, for up to 100 plans at once. Plans that already have this sign-up are left unchanged. A free plan can''t use immediate sign-up. <h3>OAuth</h3>Required scopes: <code>plans</code>'
      operationId: patchPlans
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/patchPlans'
      security:
        - BasicAuth: []
        - OAuth2:
            - plans
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Plans
      summary: Delete plans
      description: 'Delete up to 100 plans at once. Plans that are already deleted are skipped. <h3>OAuth</h3>Required scopes: <code>plans</code>'
      operationId: deletePlans
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/deletePlans'
      security:
        - BasicAuth: []
        - OAuth2:
            - plans
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /plans/v1/{planId}:
    get:
      tags:
        - Plans
      summary: Retrieve a plan
      description: 'Retrieve a certain plan. <h3>OAuth</h3>Required scopes: <code>plans.readonly</code> or <code>plans</code>'
      operationId: getPlan
      parameters:
        - in: path
          name: planId
          required: true
          description: The id of the plan.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - plans.readonly
            - plans
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getPlan'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Plans
      summary: Delete a plan
      description: 'Delete a certain plan. <h3>OAuth</h3>Required scopes: <code>plans</code>'
      operationId: deletePlan
      parameters:
        - name: planId
          in: path
          description: The id of the plan.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - plans
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Plans
      summary: Update a plan
      description: 'Update a certain plan. <h3>OAuth</h3>Required scopes: <code>plans</code>'
      operationId: updatePlan
      parameters:
        - name: planId
          in: path
          description: The id of the plan.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updatePlan'
      security:
        - BasicAuth: []
        - OAuth2:
            - plans
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /registrations/v1:
    get:
      tags:
        - Registrations
      summary: Retrieve registrations
      description: Retrieve all registrations in network.
      operationId: getRegistrations
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
          required: false
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  registrations:
                    type: array
                    items:
                      $ref: '#/components/schemas/registration'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1:
    get:
      tags:
        - Resources
      summary: Retrieve resources
      description: 'Retrieve resources in the location. Resources represent all kind of bookable items like rooms, hot desks, dedicated desks, parking lots. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getResources
      parameters:
        - in: query
          name: limit
          required: false
          description: Maximum number of resources per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: true
          description: UUID of the location whose resources to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Comma-separated list of resource types to filter by, e.g. `room,hotDesk`. Valid values: dedicatedDesk, equipment, hotDesk, office, parkingLot, room, station, conferenceRoom, eventSpace, meetingRoom, phoneBooth, studio. Defaults to all bookable types.'
          schema:
            type: string
        - in: query
          name: types
          required: false
          description: Deprecated. Use type instead.
          schema:
            deprecated: true
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources.readonly
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getResources'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Resources
      summary: Create a resource
      description: 'Create a new resource in a location. The request body must match the schema exactly—unknown properties are rejected. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: createResource
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createResource'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getResource'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1/assignments:
    get:
      tags:
        - Resources
      summary: Retrieve resource assignments
      description: 'Retrieve resource assignments in the location. An assignment links a resource, or a number of seats in it, to a company or a member for the duration of a subscription. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getAssignments
      parameters:
        - in: query
          name: limit
          required: false
          description: Maximum number of assignments per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100. Ignored when registrationRef is used.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose resource assignments to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page. Ignored when registrationRef is used.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources.readonly
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getAssignments'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Resources
      summary: Create a resource assignment
      description: 'Create a resource assignment. An assignment links a resource, or a number of seats in it, to a company or a member. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: createAssignment
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createAssignment'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createAssignment'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1/assignments/{assignmentId}:
    patch:
      tags:
        - Resources
      summary: Update a resource assignment
      description: 'Update a resource assignment. Fields left out of the request keep their current value. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: patchAssignment
      parameters:
        - in: path
          name: assignmentId
          required: true
          description: The id of the assignment.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/patchAssignment'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1/media:
    post:
      tags:
        - Resources
      summary: Create a media upload
      description: 'Create a media upload for a resource photo. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, add the returned key to <code>media</code> when creating or updating a resource within an hour; an image that is not attached by then is discarded. A resource holds up to 10 photos, the first being its cover. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: createResourceMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createResourceMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createResourceMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1/{resourceId}:
    get:
      tags:
        - Resources
      summary: Get a resource
      description: 'Get a certain resource. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getResource
      parameters:
        - in: path
          name: resourceId
          required: true
          description: The id of the resource.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
            - resources.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getResource'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Resources
      summary: Patch a resource
      description: 'Patch a certain resource. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: patchResource
      parameters:
        - in: path
          name: resourceId
          required: true
          description: The id of the resource.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/patchResource'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/v1/{resourceId}/availability:
    post:
      tags:
        - Resources
      summary: Check resource availability
      description: 'Check whether a resource can be booked for a slot before creating the booking. The same rules as booking creation apply: capacity, the location and resource schedule, duration limits and the booking window. When the slot is unavailable, the response carries the code the booking would fail with. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getResourceAvailability
      parameters:
        - in: path
          name: resourceId
          required: true
          description: The id of the resource.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/getResourceAvailability'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources.readonly
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getResourceAvailability'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/bookings/v1:
    get:
      tags:
        - Resources
      summary: Retrieve bookings
      description: 'Retrieve all bookings of resources. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getBookings
      parameters:
        - in: query
          name: endDate[gt]
          required: false
          description: Matches bookings with endDate strictly after this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: endDate[gte]
          required: false
          description: Matches bookings with endDate on or after this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: endDate[lt]
          required: false
          description: Matches bookings with endDate strictly before this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: endDate[lte]
          required: false
          description: Matches bookings with endDate on or before this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: startDate[gt]
          required: false
          description: Matches bookings with startDate strictly after this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: startDate[gte]
          required: false
          description: Matches bookings with startDate on or after this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: startDate[lt]
          required: false
          description: Matches bookings with startDate strictly before this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: startDate[lte]
          required: false
          description: Matches bookings with startDate on or before this date (ISO 8601).
          schema:
            type: string
        - in: query
          name: companyRefOwner
          required: false
          description: 'UUID of the company whose own bookings to list: bookings the company or its members made, not ones they were added to as attendees. Cannot be combined with customerRef, userRef, or userRefOwner.'
          schema:
            type: string
            format: uuid
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose bookings to list, both made and attended.
          schema:
            type: string
            format: uuid
        - in: query
          name: endDate
          required: false
          description: Deprecated. Use bracket-notation fields endDate[gt], endDate[gte], endDate[lt], endDate[lte] instead.
          schema:
            deprecated: true
            type: string
        - in: query
          name: includeDeleted
          required: false
          description: Deprecated. Use status "canceled" instead. Set to "true" to include deleted bookings.
          schema:
            deprecated: true
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of bookings per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose bookings to list. Required when both resourceRef and userRef are omitted.
          schema:
            type: string
            format: uuid
        - in: query
          name: membershipRefOwner
          required: false
          description: Deprecated. Use customerRef instead. UUID of the customer whose bookings to list.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: order
          required: false
          description: Sort order as `<field>:<direction>`, where field is startDate, endDate, createDate or deleteDate and direction is asc or desc. deleteDate lists only cancelled bookings, by when they were cancelled, and cannot be combined with singleBookings. Defaults to startDate:asc when a startDate filter is given, endDate:asc when only an endDate filter is given, and createDate:desc otherwise.
          schema:
            type: string
        - in: query
          name: resourceRef
          required: false
          description: UUID of the resource whose bookings to list. Required when both locationRef and userRef are omitted.
          schema:
            type: string
            format: uuid
        - in: query
          name: singleBookings
          required: false
          description: Set to "true" to expand repeating bookings into single occurrences.
          schema:
            type: string
        - in: query
          name: startDate
          required: false
          description: Deprecated. Use bracket-notation fields startDate[gt], startDate[gte], startDate[lt], startDate[lte] instead.
          schema:
            deprecated: true
            type: string
        - in: query
          name: status
          required: false
          description: 'Comma-separated list of booking statuses to filter by, e.g. `confirmed,canceled`. Valid values: tentative, confirmed, canceled. Defaults to tentative, confirmed, or to canceled when ordering by deleteDate.'
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Comma-separated list of resource types to filter by, e.g. `room,hotDesk`. Valid values: hotDesk, dedicatedDesk, office, parkingLot, room, conferenceRoom, eventSpace, meetingRoom, phoneBooth, studio, equipment, station. Defaults to all bookable types.'
          schema:
            type: string
        - in: query
          name: userRef
          required: false
          description: UUID of the user whose bookings to list, both made and attended. Can be given on its own, without locationRef or resourceRef, to list the user's bookings across every location of the network. Cannot be combined with customerRef, companyRefOwner, or userRefOwner.
          schema:
            type: string
            format: uuid
        - in: query
          name: userRefOwner
          required: false
          description: 'UUID of the user whose own bookings to list: bookings the user made, not ones they were added to as an attendee. Cannot be combined with customerRef, companyRefOwner, or userRef.'
          schema:
            type: string
            format: uuid
        - in: query
          name: types
          required: false
          description: Deprecated. Use type instead.
          schema:
            deprecated: true
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources.readonly
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBookings'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Resources
      summary: Create a booking
      description: 'Create a booking. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: createBooking
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createBooking'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBooking'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /resources/bookings/v1/{bookingId}:
    get:
      tags:
        - Resources
      summary: Get a booking
      description: 'Get a booking. <h3>OAuth</h3>Required scopes: <code>resources.readonly</code> or <code>resources</code>'
      operationId: getBooking
      parameters:
        - in: path
          name: bookingId
          required: true
          description: 'ID of the booking. For a single occurrence of a repeating booking, append the occurrence date: `<bookingId>_<ISO date>`.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources.readonly
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBooking'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Resources
      summary: Update a booking
      description: 'Update a booking. Fields left out of the request keep their current value. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: patchBooking
      parameters:
        - in: path
          name: bookingId
          required: true
          description: 'ID of the booking. For a single occurrence of a repeating booking, append the occurrence date: `<bookingId>_<ISO date>`.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/patchBooking'
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getBooking'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Resources
      summary: Delete a booking
      description: 'Delete a booking. <h3>OAuth</h3>Required scopes: <code>resources</code>'
      operationId: deleteBooking
      parameters:
        - in: path
          name: bookingId
          required: true
          description: 'ID of the booking. For a single occurrence of a repeating booking, append the occurrence date: `<bookingId>_<ISO date>`.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - resources
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/categories/v1:
    get:
      tags:
        - Shop
      summary: Retrieve categories
      description: 'Retrieve all shop categories in the location. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getShopCategories
      parameters:
        - in: query
          name: locationRef
          required: true
          description: UUID of the location whose shop categories to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getShopCategories'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Shop
      summary: Create a category
      description: 'Create a shop category. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: createShopCategory
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createShopCategory'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  category:
                    $ref: '#/components/schemas/shopCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/categories/v1/{categoryId}:
    get:
      tags:
        - Shop
      summary: Get a category
      description: 'Get a shop category. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getShopCategory
      parameters:
        - in: path
          name: categoryId
          required: true
          description: The id of the shop category.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
            - shop.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getShopCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Shop
      summary: Delete a category
      description: 'Delete a shop category. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: deleteShopCategory
      parameters:
        - in: path
          name: categoryId
          description: The id of the shop category
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Shop
      summary: Update a category
      description: 'Update a shop category. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: updateShopCategory
      parameters:
        - in: path
          name: categoryId
          description: The id of the shop category
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      requestBody:
        $ref: '#/components/requestBodies/updateShopCategory'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  category:
                    $ref: '#/components/schemas/shopCategory'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/products/v1:
    get:
      tags:
        - Shop
      summary: Retrieve products
      description: 'Retrieve products from shop. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getProducts
      parameters:
        - in: query
          name: categoryRef
          required: false
          description: UUID of the shop category.
          schema:
            type: string
            format: uuid
        - in: query
          name: id
          required: false
          description: Comma-separated product UUIDs, e.g. `uuid1,uuid2`. Up to 25 ids per request.
          schema:
            type: string
        - in: query
          name: limit
          required: false
          description: Maximum number of products per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getProducts'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Shop
      summary: Create a product
      description: 'Create a product in shop. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: createProduct
      requestBody:
        $ref: '#/components/requestBodies/createProduct'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  product:
                    $ref: '#/components/schemas/product'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/products/v1/{productId}:
    get:
      tags:
        - Shop
      summary: Get a product
      description: 'Get a certain product. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getProduct
      parameters:
        - in: path
          name: productId
          required: true
          description: The id of the product.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getProduct'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Shop
      summary: Update a product
      description: 'Update a certain product. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: updateProduct
      parameters:
        - name: productId
          in: path
          description: The id of the product.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateProduct'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  product:
                    $ref: '#/components/schemas/product'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Shop
      summary: Delete a product
      description: 'Delete a certain product. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: deleteProduct
      parameters:
        - name: productId
          in: path
          description: The id of the product.
          schema:
            format: uuid
            type: string
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/products/v1/media:
    post:
      tags:
        - Shop
      summary: Create a media upload
      description: 'Create a media upload for a product cover image. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>media[0].key</code> when creating or updating a product within an hour; an image that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>shop</code>'
      operationId: createProductMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createProductMedia'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createProductMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/orders/v1:
    get:
      tags:
        - Shop
      summary: Retrieve orders
      description: 'Retrieve all orders of products from shop. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getOrders
      parameters:
        - in: query
          name: categoryRef
          required: false
          description: Comma-separated shop category UUIDs used to filter orders, e.g. `uuid1,uuid2`.
          schema:
            type: string
        - in: query
          name: createDate[gte]
          required: false
          description: Filter orders created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter orders created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose orders to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of orders per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose orders to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: productRef
          required: false
          description: Comma-separated product UUIDs used to filter orders, e.g. `uuid1,uuid2`.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: |-
            Filter by order status. Comma-separated values, e.g. `new,inProgress`. Defaults to `new`, `inProgress`, and `completed` when omitted.

            Supported values:
            - **new** — placed, awaiting fulfillment
            - **inProgress** — being fulfilled
            - **completed** — fulfilled
            - **canceled** — canceled
          schema:
            type: string
        - in: query
          name: userRef
          required: false
          description: UUID of the user whose orders to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getOrders'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /shop/orders/v1/{orderId}:
    get:
      tags:
        - Shop
      summary: Get an order
      description: 'Get a certain order. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>'
      operationId: getOrder
      parameters:
        - in: path
          name: orderId
          required: true
          description: The id of the order.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getOrder'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /subscriptions/v1:
    get:
      tags:
        - Subscriptions
      summary: Retrieve subscriptions
      description: 'Retrieve subscriptions. <h3>OAuth</h3>Required scopes: <code>subscriptions.readonly</code> or <code>subscriptions</code>'
      operationId: getSubscriptions
      parameters:
        - in: query
          name: createDate[gte]
          required: false
          description: Filter subscriptions created on or after this date (ISO 8601). Use with createDate[lte] for a range.
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: Filter subscriptions created on or before this date (ISO 8601). Use with createDate[gte] for a range.
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the customer whose subscriptions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of subscriptions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose subscriptions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Pagination token from nextPageToken in a previous response. Keep the same filters when fetching the next page.
          schema:
            type: string
        - in: query
          name: order
          required: false
          description: Sort order for results.
          schema:
            type: string
        - in: query
          name: planRef
          required: false
          description: UUID of the plan to filter subscriptions by.
          schema:
            type: string
            format: uuid
        - in: query
          name: status
          required: false
          description: |-
            Filter by subscription status. Comma-separated values, e.g. `active,scheduled`. Defaults to `active`, `scheduled`, and `incomplete` when omitted.

            Supported values:
            - **active** — currently active
            - **scheduled** — scheduled to start
            - **incomplete** — pending setup or payment
            - **incompleteExpired** — incomplete and expired
            - **canceled** — canceled
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions.readonly
            - subscriptions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getSubscriptions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Subscriptions
      summary: Create a subscription
      description: 'Create a subscription for a membership or company. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: createSubscription
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/assignSubscription'
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/subscription'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /subscriptions/v1/{subscriptionId}:
    get:
      tags:
        - Subscriptions
      summary: Retrieve a subscription
      description: 'Retrieve a certain subscription. <h3>OAuth</h3>Required scopes: <code>subscriptions.readonly</code> or <code>subscriptions</code>'
      operationId: getSubscription
      parameters:
        - in: path
          name: subscriptionId
          required: true
          description: The id of the subscription.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions.readonly
            - subscriptions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getSubscription'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Subscriptions
      summary: Update a subscription
      description: 'Update a certain subscription. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: updateSubscription
      parameters:
        - in: path
          name: subscriptionId
          required: true
          description: The id of the subscription.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/patchSubscription'
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Subscriptions
      summary: Delete a subscription
      description: 'Delete a certain subscription. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: deleteSubscription
      parameters:
        - in: path
          name: subscriptionId
          required: true
          description: The id of the subscription.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /subscriptions/v1/{subscriptionId}/items:
    post:
      tags:
        - Subscriptions
      summary: Create a subscription item
      description: 'Create a subscription item. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: createSubscriptionItem
      parameters:
        - name: subscriptionId
          in: path
          description: The id of the subscription.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createSubscriptionItem'
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/subscription'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /subscriptions/v1/{subscriptionId}/items/{itemId}:
    patch:
      tags:
        - Subscriptions
      summary: Update a subscription item
      description: 'Update a subscription item. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: updateSubscriptionItem
      parameters:
        - name: subscriptionId
          in: path
          description: The id of the subscription.
          schema:
            format: uuid
            type: string
          required: true
        - name: itemId
          in: path
          description: The id of the subscription item.
          schema:
            format: uuid
            type: string
          required: true
      requestBody:
        $ref: '#/components/requestBodies/updateSubscriptionItem'
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Subscriptions
      summary: Delete a subscription item
      description: 'Delete a subscription item. <h3>OAuth</h3>Required scopes: <code>subscriptions</code>'
      operationId: deleteSubscriptionItem
      parameters:
        - name: subscriptionId
          in: path
          description: The id of the subscription.
          schema:
            format: uuid
            type: string
          required: true
        - name: itemId
          in: path
          description: The id of the subscription item.
          schema:
            format: uuid
            type: string
          required: true
      security:
        - BasicAuth: []
        - OAuth2:
            - subscriptions
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1:
    get:
      tags:
        - Support
      summary: Retrieve tickets
      description: 'Retrieve all support tickets. <h3>OAuth</h3>Required scopes: <code>support.readonly</code> or <code>support</code>'
      operationId: getSupportTickets
      parameters:
        - in: query
          name: locationRef
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: membershipRefRequester
          description: Filter tickets by requester membership ids. Pass one UUID or multiple unique comma-separated UUIDs without spaces, e.g. `id` or `id1,id2,id3`, up to 100. The memberships must exist in the location. Admins can filter by any requester; other users only by their own membership.
          required: false
          schema:
            type: string
        - in: query
          name: nextPageToken
          description: Token to retrieve the next page of results.
          schema:
            $ref: '#/components/schemas/nextPageToken'
        - in: query
          name: order
          description: 'The order of the tickets. createDate:asc, createDate:desc, updateDate:asc or updateDate:desc. Default: createDate:desc'
          required: false
          schema:
            type: string
        - in: query
          name: userRefAssignee
          description: Filter tickets by assignee user ids. Pass one UUID or multiple unique comma-separated UUIDs without spaces, e.g. `id` or `id1,id2,id3`, up to 100. The users must exist. Only admins can filter by assignee.
          required: false
          schema:
            type: string
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - support.readonly
            - support
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
                  tickets:
                    type: array
                    items:
                      $ref: '#/components/schemas/ticket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Support
      summary: Create a ticket
      description: 'Create a support ticket. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: createSupportTicket
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createSupportTicket'
      security:
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  activities:
                    type: array
                    items:
                      $ref: '#/components/schemas/ticketActivity'
                  ticket:
                    $ref: '#/components/schemas/ticket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/{id}:
    get:
      tags:
        - Support
      summary: Retrieve a ticket
      description: 'Retrieve a support ticket. <h3>OAuth</h3>Required scopes: <code>support.readonly</code> or <code>support</code>'
      operationId: getSupportTicket
      parameters:
        - name: id
          in: path
          description: The id of the ticket.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - support
            - support.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  activities:
                    type: array
                    items:
                      $ref: '#/components/schemas/ticketActivity'
                  ticket:
                    $ref: '#/components/schemas/ticket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/{id}/assignee:
    put:
      tags:
        - Support
      summary: Update a ticket's assignee
      description: 'Update support ticket assignee. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: updateSupportTicketAssignee
      parameters:
        - name: id
          in: path
          description: The id of the ticket.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateSupportTicketAssignee'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  activity:
                    $ref: '#/components/schemas/ticketActivity'
                  ticket:
                    $ref: '#/components/schemas/ticket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/{id}/status:
    put:
      tags:
        - Support
      summary: Update a ticket's status
      description: 'Update support ticket status. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: updateSupportTicketStatus
      parameters:
        - name: id
          in: path
          description: The id of the ticket.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateSupportTicketStatus'
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  activity:
                    $ref: '#/components/schemas/ticketActivity'
                  ticket:
                    $ref: '#/components/schemas/ticket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/{id}/type:
    patch:
      tags:
        - Support
      summary: Update a ticket's type
      description: 'Update a support ticket type. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: updateSupportTicketType
      parameters:
        - name: id
          in: path
          description: The id of the ticket.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      requestBody:
        $ref: '#/components/requestBodies/updateSupportTicketType'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/comment:
    post:
      tags:
        - Support
      summary: Create a ticket comment
      description: 'Create a support ticket comment. To attach a file, create a media upload first, send the file, then pass its key as <code>activity.attachments[0].key</code>; a 409 response means the file has not been received yet, so retry shortly. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: createSupportTicketComment
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createSupportTicketComment'
      security:
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  activity:
                    $ref: '#/components/schemas/ticketActivity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/comment/{id}:
    delete:
      tags:
        - Support
      summary: Delete a ticket comment
      description: 'Delete a support ticket comment. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: deleteSupportTicketComment
      parameters:
        - name: id
          in: path
          description: The id of the ticket activity.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - support
      responses:
        '204':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Support
      summary: Update a ticket comment
      description: 'Update the text of a support ticket comment. Only the comment author can edit it, and only comments without an attachment. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: updateSupportTicketComment
      parameters:
        - name: id
          in: path
          description: The id of the ticket activity.
          schema:
            format: uuid
            type: string
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/updateSupportTicketComment'
      security:
        - OAuth2:
            - support
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  activity:
                    $ref: '#/components/schemas/ticketActivity'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /support/tickets/v1/media:
    post:
      tags:
        - Support
      summary: Create a ticket media upload
      description: 'Create a media upload for a ticket comment attachment, a file of any type up to 50 MB. The response carries a presigned URL: send the raw file bytes with a PUT request within a minute, using exactly the headers returned. Once the file is stored, pass the returned key as <code>activity.attachments[0].key</code> when creating a ticket comment within 25 minutes; a file that is not attached by then is discarded. <h3>OAuth</h3>Required scopes: <code>support</code>'
      operationId: createSupportTicketMedia
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createSupportTicketMedia'
      security:
        - OAuth2:
            - support
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createSupportTicketMedia'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/credits/scheduled/v1:
    get:
      tags:
        - Transactions
      summary: Retrieve scheduled credits transactions
      description: 'Retrieve scheduled credits transactions of a subscription or a customer. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getScheduledCreditsTransactions
      parameters:
        - in: query
          name: customerRef
          required: false
          description: UUID of the company or membership whose scheduled credits transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of transactions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            type: string
        - in: query
          name: subscriptionRef
          required: false
          description: UUID of the subscription whose scheduled credits transactions to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
            - transactions.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getScheduledCreditsTransactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/credits/v1:
    get:
      tags:
        - Transactions
      summary: Retrieve credit transactions
      description: 'Retrieve credits transactions. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getCreditsTransactions
      parameters:
        - in: query
          name: companyRef
          required: false
          description: Deprecated. Use customerRef instead. The id of the company to get transactions for.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: createDate[gte]
          required: false
          description: 'Get transactions with greater or equal createDate. Example: createDate[gte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: 'Get transactions with less or equal createDate. Example: createDate[lte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the company or membership whose credits transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of transactions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose credits transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: membershipRef
          required: false
          description: Deprecated. Use customerRef instead. The id of the membership to get transactions for.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: 'Filter by payment status: ''succeeded'' completed, ''pending'' awaiting payment, ''processing'' being settled by the gateway, ''failed'' did not go through, ''canceled'' called off before completion. Comma-separated, one or more of: canceled, failed, pending, processing, succeeded.'
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Filter by what moved the credits: allocations add credits (''adminAllocation'' granted by an admin, ''subscriptionAllocation'' from a plan, ''purchaseAllocation'' from a bought package); ''booking'', ''order'', ''eventTicket'' and ''adminCharge'' spend them; ''refund'' returns them; ''expiration'' and ''subscriptionExpiration'' remove unused credits. Matches analytics report type filters. Comma-separated, one or more of: adminAllocation, adminCharge, booking, eventTicket, expiration, order, purchaseAllocation, refund, subscriptionAllocation, subscriptionExpiration.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCreditsTransactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Transactions
      summary: Create a credit transaction
      description: 'Create a credits transaction. <h3>OAuth</h3>Required scopes: <code>transactions</code>'
      operationId: createCreditsTransaction
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      requestBody:
        $ref: '#/components/requestBodies/createCreditsTransaction'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createCreditsTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/credits/v1/{id}:
    get:
      tags:
        - Transactions
      summary: Retrieve a credit transaction
      description: 'Retrieve a credits transaction. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getCreditsTransaction
      parameters:
        - name: id
          in: path
          description: The id of the transaction
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions.readonly
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  transaction:
                    $ref: '#/components/schemas/transactionCredits'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/day_passes/scheduled/v1:
    get:
      tags:
        - Transactions
      summary: Retrieve scheduled day pass transactions
      description: 'Retrieve scheduled day passes transactions of a subscription or a customer. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getScheduledDayPassesTransactions
      parameters:
        - in: query
          name: customerRef
          required: false
          description: UUID of the company or membership whose scheduled day pass transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of transactions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            type: string
        - in: query
          name: subscriptionRef
          required: false
          description: UUID of the subscription whose scheduled day pass transactions to list.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
            - transactions.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getScheduledDayPassesTransactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/day_passes/v1:
    get:
      tags:
        - Transactions
      summary: Retrieve day pass transactions
      description: 'Retrieve day passes transactions. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getDayPassesTransactions
      parameters:
        - in: query
          name: companyRef
          required: false
          description: Deprecated. Use customerRef instead. The id of the company to get transactions for.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: createDate[gte]
          required: false
          description: 'Get transactions with greater or equal createDate. Example: createDate[gte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: 'Get transactions with less or equal createDate. Example: createDate[lte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the company or membership whose day pass transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of transactions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose day pass transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: membershipRef
          required: false
          description: Deprecated. Use customerRef instead. The id of the membership to get transactions for.
          schema:
            deprecated: true
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Filter by what moved the day passes: allocations add passes (''adminAllocation'' granted by an admin, ''subscriptionAllocation'' from a plan, ''purchaseAllocation'' from a bought package); ''booking'' and ''adminCharge'' spend them; ''refund'' returns them; ''expiration'' and ''subscriptionExpiration'' remove unused passes. Matches analytics report type filters. Comma-separated, one or more of: adminAllocation, adminCharge, booking, expiration, purchaseAllocation, refund, subscriptionAllocation, subscriptionExpiration.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getDayPassesTransactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Transactions
      summary: Create a day pass transaction
      description: 'Create a day passes transaction. <h3>OAuth</h3>Required scopes: <code>transactions</code>'
      operationId: createDayPassesTransaction
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      requestBody:
        $ref: '#/components/requestBodies/createDayPassesTransaction'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createDayPassesTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/day_passes/v1/{id}:
    get:
      tags:
        - Transactions
      summary: Retrieve a day pass transaction
      description: 'Retrieve a day passes transaction. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getDayPassesTransaction
      parameters:
        - name: id
          in: path
          description: The id of the transaction
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions.readonly
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  transaction:
                    $ref: '#/components/schemas/transactionDayPasses'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/money/v1:
    get:
      tags:
        - Transactions
      summary: Retrieve money transactions
      description: 'Retrieve money transactions. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getMoneyTransactions
      parameters:
        - in: query
          name: createDate[gte]
          required: false
          description: 'Get transactions with greater or equal createDate. Example: createDate[gte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: createDate[lte]
          required: false
          description: 'Get transactions with less or equal createDate. Example: createDate[lte]=2021-05-21T10:00:00Z'
          schema:
            type: string
        - in: query
          name: customerRef
          required: false
          description: UUID of the company or user whose money transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          required: false
          description: Maximum number of transactions per page. Defaults to 25 when omitted or invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location whose money transactions to list.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: Token to retrieve the next page of results.
          schema:
            type: string
        - in: query
          name: status
          required: false
          description: 'Filter by payment status: ''succeeded'' completed, ''pending'' awaiting payment, ''processing'' being settled by the gateway, ''failed'' did not go through, ''canceled'' called off before completion. Comma-separated, one or more of: canceled, failed, pending, processing, succeeded.'
          schema:
            type: string
        - in: query
          name: type
          required: false
          description: 'Filter by what was paid for: ''booking'' a resource, ''creditPackage'' a credits or day passes package, ''eventTicket'' an event ticket, ''invoice'' an issued invoice, ''order'' a shop order, ''subscription'' a membership plan, ''custom'' a one-off charge created by an admin. Comma-separated, one or more of: booking, creditPackage, custom, eventTicket, invoice, order, subscription.'
          schema:
            type: string
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions.readonly
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getMoneyTransactions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Transactions
      summary: Create a money transaction
      description: 'Create a money transaction by charging a customer for a custom item. <h3>OAuth</h3>Required scopes: <code>transactions</code>'
      operationId: createMoneyTransaction
      parameters:
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      requestBody:
        $ref: '#/components/requestBodies/createMoneyTransaction'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createMoneyTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/money/v1/{transactionId}:
    get:
      tags:
        - Transactions
      summary: Retrieve a money transaction
      description: 'Retrieve a money transaction. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getMoneyTransaction
      parameters:
        - in: path
          name: transactionId
          required: true
          description: The id of the transaction.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions.readonly
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getMoneyTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    patch:
      tags:
        - Transactions
      summary: Update a money transaction
      description: 'Approve or cancel a pending money transaction paid externally. <h3>OAuth</h3>Required scopes: <code>transactions</code>'
      operationId: patchMoneyTransaction
      parameters:
        - in: path
          name: transactionId
          required: true
          description: The id of the transaction.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/patchMoneyTransaction'
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/money/v1/{transactionId}/refund:
    post:
      tags:
        - Transactions
      summary: Refund a money transaction
      description: 'Refund a succeeded money transaction, fully or partially, through the payment gateway it was paid with. <h3>OAuth</h3>Required scopes: <code>transactions</code>'
      operationId: refundMoneyTransaction
      parameters:
        - in: path
          name: transactionId
          required: true
          description: The id of the transaction.
          schema:
            type: string
            format: uuid
        - description: The id of the network. Required when using bearer token authentication
          in: header
          name: spacebring-network-id
          required: false
          schema:
            format: uuid
            type: string
      requestBody:
        $ref: '#/components/requestBodies/refundMoneyTransaction'
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/refundMoneyTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/v1/balances/{id}/credits:
    get:
      tags:
        - Transactions
      summary: Retrieve credit balance
      description: 'Retrieve credits balance. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getCreditsBalance
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the customer
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
            - transactions.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  balances:
                    type: array
                    items:
                      $ref: '#/components/schemas/balance'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /transactions/v1/balances/{id}/day_passes:
    get:
      tags:
        - Transactions
      summary: Retrieve day passes balance
      description: 'Retrieve day passes balance. <h3>OAuth</h3>Required scopes: <code>transactions.readonly</code> or <code>transactions</code>'
      operationId: getDayPassesBalance
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the customer
      security:
        - BasicAuth: []
        - OAuth2:
            - transactions
            - transactions.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  balances:
                    type: array
                    items:
                      $ref: '#/components/schemas/balance'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/contacts/v1:
    get:
      tags:
        - Visitors
      summary: Get contacts
      description: 'Get contacts. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: getContacts
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
          required: false
          description: The maximum number of contacts to return. Default is 25.
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          required: false
          description: Token to retrieve the next page of results.
        - in: query
          name: locationRef
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the location.
        - in: query
          name: createDate
          description: The create date filter of items.
          schema:
            type: object
            properties:
              lte:
                format: date-time
                type: string
                description: 'Get contacts with less or equal create date. Example: createDate[lte]=2021-05-21T10:00:00Z'
              gte:
                format: date-time
                type: string
                description: 'Get contacts with greater or equal create date. Example: createDate[gte]=2021-05-21T10:00:00Z'
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
            - visitors.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  contacts:
                    type: array
                    items:
                      $ref: '#/components/schemas/contact'
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Visitors
      summary: Create a contact
      description: 'Create a contact. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: createContact
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createContact'
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    $ref: '#/components/schemas/contact'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/contacts/v1/{contactId}:
    get:
      tags:
        - Visitors
      summary: Get a contact
      description: 'Get a contact. <h3>OAuth</h3>Required scopes: <code>visitors</code> or <code>visitors.readonly</code>'
      operationId: getContact
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: contactId
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the contact.
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
            - visitors.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    $ref: '#/components/schemas/contact'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/requests/v1:
    get:
      tags:
        - Visitors
      summary: Get requests
      description: 'Get requests. <h3>OAuth</h3>Required scopes: <code>visitors</code> or <code>visitors.readonly</code>'
      operationId: getRequests
      parameters:
        - in: query
          name: locationRef
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
          required: false
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return.
          required: false
        - in: query
          name: createDate
          description: The create date filter of items.
          schema:
            type: object
            properties:
              lte:
                format: date-time
                type: string
                description: 'Get requests with less or equal create date. Example: createDate[lte]=2021-05-21T10:00:00Z'
              gte:
                format: date-time
                type: string
                description: 'Get requests with greater or equal create date. Example: createDate[gte]=2021-05-21T10:00:00Z'
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors.readonly
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  requests:
                    type: array
                    items:
                      $ref: '#/components/schemas/visitRequest'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Visitors
      summary: Create a request
      description: 'Create a request. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: createRequest
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
      requestBody:
        $ref: '#/components/requestBodies/createVisitRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  request:
                    $ref: '#/components/schemas/visitRequest'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/requests/v1/{id}:
    get:
      tags:
        - Visitors
      summary: Retrieve a request
      description: 'Retrieve a request. <h3>OAuth</h3>Required scopes: <code>visitors</code> or <code>visitors.readonly</code>'
      operationId: getRequest
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: The id of the request.
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
            - visitors.readonly
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  request:
                    $ref: '#/components/schemas/visitRequest'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/requests/v1/{id}/approve:
    post:
      tags:
        - Visitors
      summary: Approve a request
      description: 'Approve a request. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: approveRequest
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          description: The id of the request
          schema:
            type: string
            format: uuid
          required: true
      security:
        - OAuth2:
            - visitors
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/requests/v1/{id}/reject:
    post:
      tags:
        - Visitors
      summary: Reject a request
      description: 'Reject a request. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: rejectRequest
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
        - in: path
          name: id
          description: The id of the request
          schema:
            type: string
            format: uuid
          required: true
      security:
        - OAuth2:
            - visitors
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/visits/v1:
    get:
      tags:
        - Visitors
      summary: Retrieve visits
      description: 'Retrieve visits. <h3>OAuth</h3>Required scopes: <code>visitors.readonly</code> or <code>visitors</code>'
      operationId: getVisits
      parameters:
        - in: query
          name: locationRef
          description: The id of the location.
          schema:
            type: string
            format: uuid
          required: true
        - in: query
          name: userRefHost
          description: The id of the user, host of the visit.
          schema:
            type: string
            format: uuid
          required: false
        - in: query
          name: userRefVisitor
          description: The id of the user, visitor of the visit.
          schema:
            type: string
            format: uuid
          required: false
        - in: query
          name: createDate
          description: The date filter of items.
          schema:
            type: object
            properties:
              lte:
                format: date-time
                type: string
                description: 'Get visits with less or equal create date. Example: createDate[lte]=2021-05-21T10:00:00Z'
              gte:
                format: date-time
                type: string
                description: 'Get visits with greater or equal create date. Example: createDate[gte]=2021-05-21T10:00:00Z'
        - in: query
          name: date
          description: The visit date filter of items.
          schema:
            type: object
            properties:
              lte:
                format: date-time
                type: string
                description: 'Get visits with less or equal visit date. Example: date[lte]=2021-05-21T10:00:00Z'
              gte:
                format: date-time
                type: string
                description: 'Get visits with greater or equal visit date. Example: date[gte]=2021-05-21T10:00:00Z'
        - in: query
          name: limit
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 25
          description: The number of items to return
        - in: query
          name: nextPageToken
          schema:
            $ref: '#/components/schemas/nextPageToken'
          description: Token to retrieve the next page of results.
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors.readonly
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  nextPageToken:
                    $ref: '#/components/schemas/nextPageToken'
                  searchQueryNext:
                    $ref: '#/components/schemas/searchQueryNext'
                  visits:
                    type: array
                    items:
                      $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    post:
      tags:
        - Visitors
      summary: Create a visit
      description: 'Create a visit. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: createVisit
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/createVisit'
      security:
        - OAuth2:
            - visitors
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/visits/v1/{id}:
    get:
      tags:
        - Visitors
      summary: Retrieve a visit
      description: 'Retrieve a visit by id. <h3>OAuth</h3>Required scopes: <code>visitors.readonly</code> or <code>visitors</code>'
      operationId: getVisit
      parameters:
        - in: path
          name: id
          description: The id of the visit
          schema:
            type: string
            format: uuid
          required: true
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors.readonly
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    type: object
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    delete:
      tags:
        - Visitors
      summary: Delete a visit
      description: 'Delete a visit by id. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: deleteVisit
      parameters:
        - in: path
          name: id
          description: The id of the visit
          schema:
            type: string
            format: uuid
          required: true
      security:
        - OAuth2:
            - visitors
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
    put:
      tags:
        - Visitors
      summary: Update a visit
      description: 'Update a visit by id. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: updateVisit
      parameters:
        - in: path
          name: id
          description: The id of the visit
          schema:
            type: string
            format: uuid
          required: true
      requestBody:
        $ref: '#/components/requestBodies/updateVisit'
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors.readonly
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    type: object
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/visits/v1/checkin:
    post:
      tags:
        - Visitors
      summary: Check in a visit
      description: 'Check in a visit. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: checkInVisit
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/checkInVisit'
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    type: object
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
  /visitors/visits/v1/checkout:
    post:
      tags:
        - Visitors
      summary: Check out a visit
      description: 'Check out a visit. <h3>OAuth</h3>Required scopes: <code>visitors</code>'
      operationId: checkOutVisit
      parameters:
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: The id of the network. Required when using bearer token authentication
      requestBody:
        $ref: '#/components/requestBodies/checkInVisit'
      security:
        - BasicAuth: []
        - OAuth2:
            - visitors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  visit:
                    type: object
                    $ref: '#/components/schemas/visit'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
components:
  securitySchemes:
    BasicAuth:
      type: http
      description: See our [authentication documentation](https://www.spacebring.com/docs/developer/api/authentication#basic-authentication) for how to authorize your requests
      scheme: basic
    OAuth2:
      type: oauth2
      description: See our [authentication documentation](https://www.spacebring.com/docs/developer/api/authentication#oauth2) for how to authorize your requests
      flows:
        authorizationCode:
          authorizationUrl: https://oauth2.spacebring.com/api/oauth2/authorize
          tokenUrl: https://oauth2.spacebring.com/api/oauth2/token
          refreshUrl: https://oauth2.spacebring.com/api/oauth2/token
          scopes:
            benefits.readonly: Read benefits and applications
            benefits: Read and write benefits and applications
            checkIns.readonly: Read check-ins
            checkIns: Read and write check-ins
            community.readonly: Read community companies and memberships
            community: Read and write community companies and memberships
            events.readonly: Read events and tickets
            events: Read and write events and tickets
            feed.readonly: Read feed posts
            feed: Read and write feed posts
            invoices.readonly: Read contracts, credit notes, discounts and invoices
            invoices: Read and write contract, credit notes, discounts and invoices
            locations.readonly: Read locations
            locations: Read and write locations
            plans.readonly: Read plans
            plans: Read and write plans
            resources.readonly: Read resources and bookings
            resources: Read and write resources and bookings
            subscriptions.readonly: Read subscriptions
            subscriptions: Read and write subscriptions
            shop.readonly: Read products and orders
            shop: Read and write products and orders
            support.readonly: Read support tickets
            support: Read and write support tickets
            transactions.readonly: Read transactions
            transactions: Read and write transactions
            visitors.readonly: Read visitors
            visitors: Read and write visitors
  schemas:
    nextPageToken:
      type: string
      description: Opaque cursor token for retrieving the next page of results. Pass this value as the `nextPageToken` query parameter in your next request.
    altCurrency:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the alt currency was created.
        currencyCode:
          type: string
          description: ISO 4217 currency code.
        exchangeRate:
          type: number
          description: Exchange rate relative to the location main currency.
        id:
          type: string
          format: uuid
          description: Unique identifier of the alt currency.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this alt currency belongs to.
        provider:
          description: Exchange rate provider when auto-update is enabled.
          type: string
          enum:
            - nbu
            - bcra
            - nbg
            - bcch
            - ecb
      required:
        - createDate
        - currencyCode
        - exchangeRate
        - id
        - locationRef
      additionalProperties: false
    searchQueryNext:
      type: string
      description: Pre-built query string for the next page of results. Contains all active filter parameters combined with the next page token, ready to append to the endpoint URL.
    responseError:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
    getBenefitCategories:
      type: object
      properties:
        categories:
          type: array
          items:
            type: object
            properties:
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the category was created.
              id:
                type: string
                format: uuid
                description: Unique identifier of the category.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this category belongs to.
              networkRef:
                type: string
                format: uuid
                description: ID of the network this category belongs to.
              title:
                type: string
                description: Display name of the category.
            required:
              - createDate
              - id
              - locationRef
              - networkRef
              - title
            additionalProperties: false
          description: List of benefit categories.
      required:
        - categories
      additionalProperties: false
    benefitCategory:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the category was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the category.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this category belongs to.
        networkRef:
          type: string
          format: uuid
          description: ID of the network this category belongs to.
        title:
          type: string
          description: Display name of the category.
      required:
        - createDate
        - id
        - locationRef
        - networkRef
        - title
      additionalProperties: false
    getBenefitCategory:
      type: object
      properties:
        category:
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the category was created.
            id:
              type: string
              format: uuid
              description: Unique identifier of the category.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this category belongs to.
            networkRef:
              type: string
              format: uuid
              description: ID of the network this category belongs to.
            title:
              type: string
              description: Display name of the category.
          required:
            - createDate
            - id
            - locationRef
            - networkRef
            - title
          additionalProperties: false
          description: The benefit category.
      required:
        - category
      additionalProperties: false
    getBenefits:
      type: object
      properties:
        benefits:
          type: array
          items:
            type: object
            properties:
              application:
                type: object
                properties:
                  allowance:
                    type: string
                    enum:
                      - once
                      - unlimited
                    description: 'How often a user can apply: ''once'' limits to a single use, ''unlimited'' allows repeated use.'
                  buttonLabel:
                    type: string
                    enum:
                      - apply
                      - buy
                      - contact
                      - get
                      - learnMore
                    description: Label on the call-to-action button.
                  confirmationEmail:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether a confirmation email is sent after applying.
                      template:
                        type: string
                        description: HTML template for the confirmation email.
                    required:
                      - enabled
                      - template
                    additionalProperties: false
                  enabled:
                    type: boolean
                    description: Whether the application flow is enabled for this benefit.
                required:
                  - allowance
                  - buttonLabel
                  - confirmationEmail
                  - enabled
                additionalProperties: false
                description: Settings controlling how users apply for this benefit.
              categoryRef:
                type: string
                format: uuid
                description: ID of the benefit category this benefit belongs to.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the benefit was created.
              description:
                type: string
                description: Full description of the benefit.
              featured:
                type: boolean
                description: Whether the benefit is highlighted in listings.
              id:
                type: string
                format: uuid
                description: Unique identifier of the benefit.
              locale:
                type: string
                description: Auto-detected language of the description.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this benefit is associated with.
              media:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the media file.
                    url:
                      type: string
                      description: Public URL of the media file.
                  required:
                    - key
                    - url
                  additionalProperties: false
                description: Media files attached to this benefit.
              networkRef:
                type: string
                format: uuid
                description: ID of the network this benefit belongs to.
              subtitle:
                type: string
                description: Short tagline displayed below the title.
              title:
                type: string
                description: Display name of the benefit.
              updateDate:
                description: ISO timestamp of the last update.
                type: string
                format: date-time
              visibility:
                type: string
                enum:
                  - public
                  - admins
                  - exclusiveMembers
                  - members
                  - networkMembers
                description: 'Who can see this benefit: ''public'' (everyone), ''admins'', ''exclusiveMembers'', ''members'', or ''networkMembers''.'
            required:
              - application
              - categoryRef
              - createDate
              - description
              - featured
              - id
              - locale
              - locationRef
              - media
              - networkRef
              - subtitle
              - title
              - visibility
            additionalProperties: false
          description: List of benefits.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - benefits
      additionalProperties: false
    benefit:
      type: object
      properties:
        application:
          type: object
          properties:
            allowance:
              type: string
              enum:
                - once
                - unlimited
              description: 'How often a user can apply: ''once'' limits to a single use, ''unlimited'' allows repeated use.'
            buttonLabel:
              type: string
              enum:
                - apply
                - buy
                - contact
                - get
                - learnMore
              description: Label on the call-to-action button.
            confirmationEmail:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether a confirmation email is sent after applying.
                template:
                  type: string
                  description: HTML template for the confirmation email.
              required:
                - enabled
                - template
              additionalProperties: false
            enabled:
              type: boolean
              description: Whether the application flow is enabled for this benefit.
          required:
            - allowance
            - buttonLabel
            - confirmationEmail
            - enabled
          additionalProperties: false
          description: Settings controlling how users apply for this benefit.
        categoryRef:
          type: string
          format: uuid
          description: ID of the benefit category this benefit belongs to.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the benefit was created.
        description:
          type: string
          description: Full description of the benefit.
        featured:
          type: boolean
          description: Whether the benefit is highlighted in listings.
        id:
          type: string
          format: uuid
          description: Unique identifier of the benefit.
        locale:
          type: string
          description: Auto-detected language of the description.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this benefit is associated with.
        media:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Storage key of the media file.
              url:
                type: string
                description: Public URL of the media file.
            required:
              - key
              - url
            additionalProperties: false
          description: Media files attached to this benefit.
        networkRef:
          type: string
          format: uuid
          description: ID of the network this benefit belongs to.
        subtitle:
          type: string
          description: Short tagline displayed below the title.
        title:
          type: string
          description: Display name of the benefit.
        updateDate:
          description: ISO timestamp of the last update.
          type: string
          format: date-time
        visibility:
          type: string
          enum:
            - public
            - admins
            - exclusiveMembers
            - members
            - networkMembers
          description: 'Who can see this benefit: ''public'' (everyone), ''admins'', ''exclusiveMembers'', ''members'', or ''networkMembers''.'
      required:
        - application
        - categoryRef
        - createDate
        - description
        - featured
        - id
        - locale
        - locationRef
        - media
        - networkRef
        - subtitle
        - title
        - visibility
      additionalProperties: false
    getBenefit:
      type: object
      properties:
        benefit:
          type: object
          properties:
            application:
              type: object
              properties:
                allowance:
                  type: string
                  enum:
                    - once
                    - unlimited
                  description: 'How often a user can apply: ''once'' limits to a single use, ''unlimited'' allows repeated use.'
                buttonLabel:
                  type: string
                  enum:
                    - apply
                    - buy
                    - contact
                    - get
                    - learnMore
                  description: Label on the call-to-action button.
                confirmationEmail:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Whether a confirmation email is sent after applying.
                    template:
                      type: string
                      description: HTML template for the confirmation email.
                  required:
                    - enabled
                    - template
                  additionalProperties: false
                enabled:
                  type: boolean
                  description: Whether the application flow is enabled for this benefit.
              required:
                - allowance
                - buttonLabel
                - confirmationEmail
                - enabled
              additionalProperties: false
              description: Settings controlling how users apply for this benefit.
            categoryRef:
              type: string
              format: uuid
              description: ID of the benefit category this benefit belongs to.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the benefit was created.
            description:
              type: string
              description: Full description of the benefit.
            featured:
              type: boolean
              description: Whether the benefit is highlighted in listings.
            id:
              type: string
              format: uuid
              description: Unique identifier of the benefit.
            locale:
              type: string
              description: Auto-detected language of the description.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this benefit is associated with.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the media file.
                  url:
                    type: string
                    description: Public URL of the media file.
                required:
                  - key
                  - url
                additionalProperties: false
              description: Media files attached to this benefit.
            networkRef:
              type: string
              format: uuid
              description: ID of the network this benefit belongs to.
            subtitle:
              type: string
              description: Short tagline displayed below the title.
            title:
              type: string
              description: Display name of the benefit.
            updateDate:
              description: ISO timestamp of the last update.
              type: string
              format: date-time
            visibility:
              type: string
              enum:
                - public
                - admins
                - exclusiveMembers
                - members
                - networkMembers
              description: 'Who can see this benefit: ''public'' (everyone), ''admins'', ''exclusiveMembers'', ''members'', or ''networkMembers''.'
          required:
            - application
            - categoryRef
            - createDate
            - description
            - featured
            - id
            - locale
            - locationRef
            - media
            - networkRef
            - subtitle
            - title
            - visibility
          additionalProperties: false
          description: The benefit.
      required:
        - benefit
      additionalProperties: false
    createBenefitMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file. Pass it as media[0].key when creating or updating a benefit.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
              description: MIME type of the image file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the image file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a benefit. attached: a benefit references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    getBenefitApplications:
      type: object
      properties:
        applications:
          type: array
          items:
            type: object
            properties:
              benefit:
                type: object
                properties:
                  description:
                    description: Full description of the benefit.
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the benefit.
                  media:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file.
                        url:
                          type: string
                          description: Public URL of the media file.
                      required:
                        - key
                        - url
                      additionalProperties: false
                    description: Media files attached to this benefit.
                  mediaUrl:
                    deprecated: true
                    description: 'Deprecated: use media[0].url instead.'
                    nullable: true
                    type: string
                    format: uri
                  subtitle:
                    description: Short tagline of the benefit.
                    type: string
                  title:
                    type: string
                    description: Display name of the benefit.
                required:
                  - id
                  - media
                  - title
                additionalProperties: false
                description: Summary of the benefit this application is for.
              comment:
                description: Optional comment left by the applicant.
                type: string
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the application was submitted.
              id:
                type: string
                format: uuid
                description: Unique identifier of the application.
              locationRef:
                type: string
                format: uuid
                description: ID of the location where the application was submitted.
              membershipRef:
                description: ID of the membership associated with this application.
                type: string
                format: uuid
              number:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Human-readable application number.
              user:
                type: object
                properties:
                  about:
                    description: About text of the user.
                    nullable: true
                    type: string
                  blocked:
                    description: Whether the user is blocked.
                    type: boolean
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the user account was created.
                  deleteDate:
                    description: ISO timestamp of when the user account was deleted.
                    type: string
                    format: date-time
                  email:
                    description: Email address of the user.
                    nullable: true
                    type: string
                    format: email
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: First name of the user.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: Phone number of the user.
                    nullable: true
                    type: string
                  photoUrl:
                    description: URL of the user's profile photo.
                    nullable: true
                    type: string
                    format: uri
                  restricted:
                    description: Whether the user has restricted access.
                    type: boolean
                  surname:
                    description: Last name of the user.
                    nullable: true
                    type: string
                required:
                  - createDate
                  - id
                additionalProperties: false
                description: The user who submitted the application.
            required:
              - benefit
              - createDate
              - id
              - locationRef
              - number
              - user
            additionalProperties: false
          description: List of benefit applications.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - applications
      additionalProperties: false
    benefitApplication:
      type: object
      properties:
        benefit:
          type: object
          properties:
            description:
              description: Full description of the benefit.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the benefit.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the media file.
                  url:
                    type: string
                    description: Public URL of the media file.
                required:
                  - key
                  - url
                additionalProperties: false
              description: Media files attached to this benefit.
            mediaUrl:
              deprecated: true
              description: 'Deprecated: use media[0].url instead.'
              nullable: true
              type: string
              format: uri
            subtitle:
              description: Short tagline of the benefit.
              type: string
            title:
              type: string
              description: Display name of the benefit.
          required:
            - id
            - media
            - title
          additionalProperties: false
          description: Summary of the benefit this application is for.
        comment:
          description: Optional comment left by the applicant.
          type: string
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the application was submitted.
        id:
          type: string
          format: uuid
          description: Unique identifier of the application.
        locationRef:
          type: string
          format: uuid
          description: ID of the location where the application was submitted.
        membershipRef:
          description: ID of the membership associated with this application.
          type: string
          format: uuid
        number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Human-readable application number.
        user:
          type: object
          properties:
            about:
              description: About text of the user.
              nullable: true
              type: string
            blocked:
              description: Whether the user is blocked.
              type: boolean
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the user account was created.
            deleteDate:
              description: ISO timestamp of when the user account was deleted.
              type: string
              format: date-time
            email:
              description: Email address of the user.
              nullable: true
              type: string
              format: email
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: First name of the user.
              nullable: true
              type: string
            phoneNumber:
              description: Phone number of the user.
              nullable: true
              type: string
            photoUrl:
              description: URL of the user's profile photo.
              nullable: true
              type: string
              format: uri
            restricted:
              description: Whether the user has restricted access.
              type: boolean
            surname:
              description: Last name of the user.
              nullable: true
              type: string
          required:
            - createDate
            - id
          additionalProperties: false
          description: The user who submitted the application.
      required:
        - benefit
        - createDate
        - id
        - locationRef
        - number
        - user
      additionalProperties: false
    getBenefitApplication:
      type: object
      properties:
        application:
          type: object
          properties:
            benefit:
              type: object
              properties:
                description:
                  description: Full description of the benefit.
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the benefit.
                media:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the media file.
                      url:
                        type: string
                        description: Public URL of the media file.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  description: Media files attached to this benefit.
                mediaUrl:
                  deprecated: true
                  description: 'Deprecated: use media[0].url instead.'
                  nullable: true
                  type: string
                  format: uri
                subtitle:
                  description: Short tagline of the benefit.
                  type: string
                title:
                  type: string
                  description: Display name of the benefit.
              required:
                - id
                - media
                - title
              additionalProperties: false
              description: Summary of the benefit this application is for.
            comment:
              description: Optional comment left by the applicant.
              type: string
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the application was submitted.
            id:
              type: string
              format: uuid
              description: Unique identifier of the application.
            locationRef:
              type: string
              format: uuid
              description: ID of the location where the application was submitted.
            membershipRef:
              description: ID of the membership associated with this application.
              type: string
              format: uuid
            number:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Human-readable application number.
            user:
              type: object
              properties:
                about:
                  description: About text of the user.
                  nullable: true
                  type: string
                blocked:
                  description: Whether the user is blocked.
                  type: boolean
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of when the user account was created.
                deleteDate:
                  description: ISO timestamp of when the user account was deleted.
                  type: string
                  format: date-time
                email:
                  description: Email address of the user.
                  nullable: true
                  type: string
                  format: email
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number of the user.
                  nullable: true
                  type: string
                photoUrl:
                  description: URL of the user's profile photo.
                  nullable: true
                  type: string
                  format: uri
                restricted:
                  description: Whether the user has restricted access.
                  type: boolean
                surname:
                  description: Last name of the user.
                  nullable: true
                  type: string
              required:
                - createDate
                - id
              additionalProperties: false
              description: The user who submitted the application.
          required:
            - benefit
            - createDate
            - id
            - locationRef
            - number
            - user
          additionalProperties: false
          description: The benefit application.
      required:
        - application
      additionalProperties: false
    getInvoices:
      type: object
      properties:
        invoices:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              amount:
                deprecated: true
                description: Deprecated. Use totalAmount instead.
                type: number
              amountDue:
                type: number
                description: Amount due in major units (from base or alt currency).
              amountPaid:
                type: number
                description: Total amount paid in major units.
              amountRemaining:
                type: number
                description: Amount remaining to be paid in major units.
              appliedBalance:
                type: number
                description: Applied customer balance offset in major units.
              autoChargeFailed:
                description: Whether the last auto-charge attempt failed.
                type: boolean
              autoCreateDate:
                description: Date of scheduled automatic invoice creation.
                type: string
                format: date-time
              baseAmounts:
                type: object
                properties:
                  amountDue:
                    type: number
                    description: Amount due in major units.
                  appliedBalance:
                    type: number
                    description: Applied customer balance offset in major units.
                  currencyCode:
                    type: string
                    description: ISO currency code.
                  postPaymentCreditNotesAmount:
                    type: number
                    description: Post-payment credit notes amount in major units.
                  prePaymentCreditNotesAmount:
                    type: number
                    description: Pre-payment credit notes amount in major units.
                  subtotalAmount:
                    type: number
                    description: Subtotal amount in major units.
                  subtotalExcludingTaxAmount:
                    type: number
                    description: Subtotal excluding tax in major units.
                  taxes:
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Tax amount in major units.
                        inclusive:
                          type: boolean
                          description: Whether tax is included in the price.
                        rate:
                          type: number
                          description: Tax rate as a decimal.
                        taxableAmount:
                          type: number
                          description: Amount subject to tax in major units.
                      required:
                        - amount
                        - inclusive
                        - rate
                        - taxableAmount
                      additionalProperties: false
                    description: Tax breakdown.
                  totalAmount:
                    type: number
                    description: Total amount in major units.
                  totalExcludingTaxAmount:
                    type: number
                    description: Total amount excluding tax in major units.
                required:
                  - amountDue
                  - appliedBalance
                  - currencyCode
                  - postPaymentCreditNotesAmount
                  - prePaymentCreditNotesAmount
                  - subtotalAmount
                  - subtotalExcludingTaxAmount
                  - taxes
                  - totalAmount
                  - totalExcludingTaxAmount
                additionalProperties: false
                description: Amounts in the base currency.
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
              companyRef:
                description: ID of the associated company.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the invoice was created.
              currencyCode:
                type: string
                description: ISO currency code (from base or alt currency).
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        description: User bio.
                        nullable: true
                        type: string
                      email:
                        description: User email address.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User ID.
                      name:
                        description: First name.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL.
                        nullable: true
                        type: string
                      surname:
                        description: Last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this invoice.
              customerAddress:
                description: Customer billing address.
                type: object
                properties:
                  city:
                    type: string
                  countryCode:
                    nullable: true
                    type: string
                  line1:
                    type: string
                  line2:
                    type: string
                  postalCode:
                    type: string
                  state:
                    type: string
                required:
                  - city
                  - countryCode
                  - line1
                  - line2
                  - postalCode
                  - state
                additionalProperties: false
              customerName:
                description: Customer legal name.
                type: string
              customerTaxId:
                description: Customer tax ID.
                type: string
              deleteDate:
                description: ISO timestamp of when the invoice was deleted.
                type: string
                format: date-time
              dueDate:
                description: Payment due date.
                type: string
                format: date-time
              locationAddress:
                description: Location billing address.
                type: object
                properties:
                  city:
                    type: string
                  countryCode:
                    nullable: true
                    type: string
                  line1:
                    type: string
                  line2:
                    type: string
                  postalCode:
                    type: string
                  state:
                    type: string
                required:
                  - city
                  - countryCode
                  - line1
                  - line2
                  - postalCode
                  - state
                additionalProperties: false
              locationName:
                description: Location legal name.
                type: string
              locationTaxId:
                description: Location tax ID.
                type: string
              dueDays:
                description: Number of days until payment is due.
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
              dueType:
                description: How the due date is calculated.
                type: string
                enum:
                  - date
                  - days
                  - default
              id:
                description: Unique identifier of the invoice.
                type: string
                format: uuid
              internalNote:
                description: Internal memo (visible to admins only).
                type: string
              issueDate:
                description: ISO timestamp of when the invoice was issued.
                type: string
                format: date-time
              items:
                deprecated: true
                description: Deprecated. Invoice line items.
                type: array
                items: {}
              itemsCount:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Number of line items on this invoice.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                description: ID of the associated membership.
                type: string
                format: uuid
              memo:
                deprecated: true
                description: Deprecated. Use internalNote instead.
                type: string
              netAmount:
                deprecated: true
                description: Deprecated. Use totalExcludingTaxAmount instead.
                type: number
              number:
                deprecated: true
                description: Deprecated. Use title instead.
                type: string
              paymentMethod:
                description: Auto-charge payment method, if configured.
                type: object
                properties:
                  cardMask:
                    type: string
                  label:
                    type: string
                  mask:
                    type: string
                additionalProperties: false
              payments:
                type: array
                items:
                  type: object
                  additionalProperties: false
                  properties:
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the payment was recorded.
                    dispute:
                      description: Payment dispute details.
                      type: object
                      properties:
                        createDate:
                          type: string
                          format: date-time
                          description: ISO timestamp of when the dispute was opened.
                      required:
                        - createDate
                      additionalProperties: false
                    method:
                      type: object
                      properties:
                        external:
                          description: Present when type is external.
                          type: object
                          properties: {}
                          additionalProperties: false
                        paymentGateway:
                          description: Present when type is paymentGateway.
                          type: object
                          properties:
                            gateway:
                              type: string
                              description: Payment gateway identifier.
                            label:
                              description: Display label for the payment gateway.
                              type: string
                            mask:
                              description: Masked card or account identifier.
                              type: string
                            title:
                              description: Display title for the payment gateway.
                              type: string
                          required:
                            - gateway
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - external
                            - paymentGateway
                          description: Payment method type.
                      required:
                        - type
                      additionalProperties: false
                      description: Payment method used.
                    paymentDate:
                      description: ISO timestamp of when the money was received. Absent until the payment succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it.
                      type: string
                      format: date-time
                    price:
                      type: object
                      properties:
                        money:
                          type: object
                          properties:
                            currencyCode:
                              type: string
                              description: ISO currency code.
                            grossAmount:
                              type: number
                              description: Payment amount in major units.
                          required:
                            - currencyCode
                            - grossAmount
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - money
                      required:
                        - money
                        - type
                      additionalProperties: false
                      description: Payment price details.
                    refundable:
                      type: boolean
                      description: Whether this payment can be refunded.
                    refunds:
                      description: Refunds issued against this payment.
                      type: object
                      properties:
                        money:
                          type: array
                          items:
                            type: object
                            properties:
                              createDate:
                                type: string
                                format: date-time
                              currencyCode:
                                type: string
                              grossAmount:
                                type: number
                              id:
                                type: string
                                format: uuid
                            required:
                              - createDate
                              - currencyCode
                              - grossAmount
                              - id
                            additionalProperties: false
                        type:
                          type: string
                          enum:
                            - money
                      required:
                        - type
                      additionalProperties: false
                    status:
                      type: string
                      enum:
                        - canceled
                        - failed
                        - pending
                        - processing
                        - succeeded
                      description: Payment status.
                    surcharge:
                      description: Payment surcharge details.
                      type: object
                      properties:
                        money:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Surcharge amount in major units.
                            currencyCode:
                              type: string
                              description: ISO currency code.
                            percentage:
                              description: Surcharge percentage.
                              type: number
                            rate:
                              description: Surcharge rate.
                              type: number
                          required:
                            - amount
                            - currencyCode
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - money
                      required:
                        - money
                        - type
                      additionalProperties: false
                    transactionRef:
                      type: string
                      format: uuid
                      description: ID of the associated transaction.
                  required:
                    - createDate
                    - method
                    - price
                    - refundable
                    - status
                    - transactionRef
                description: Payment records for this invoice.
              pdfUrl:
                description: URL to download the invoice PDF (issued invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
                type: string
              postPaymentCreation:
                type: boolean
                description: Whether this invoice was created post-payment.
              postPaymentCreditAmount:
                deprecated: true
                description: Deprecated. Use baseAmounts.postPaymentCreditNotesAmount instead.
                type: number
              postPaymentCreditNotesAmount:
                type: number
                description: Post-payment credit notes amount in major units.
              prePaymentCreditAmount:
                deprecated: true
                description: Deprecated. Use baseAmounts.prePaymentCreditNotesAmount instead.
                type: number
              prePaymentCreditNotesAmount:
                type: number
                description: Pre-payment credit notes amount in major units.
              receiptPdfUrl:
                description: URL to download the receipt PDF (paid invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
                type: string
              startingBalance:
                description: Customer balance at draft creation.
                type: number
              status:
                type: string
                enum:
                  - draft
                  - issued
                  - paid
                  - voided
                description: Invoice status.
              subscriptionRef:
                description: ID of the associated subscription.
                type: string
                format: uuid
              subtotalAmount:
                type: number
                description: Subtotal amount in major units.
              subtotalExcludingTaxAmount:
                type: number
                description: Subtotal excluding tax in major units.
              taxAmount:
                deprecated: true
                description: Deprecated. Use baseAmounts.taxes instead.
                type: number
              taxes:
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Tax amount in major units.
                    inclusive:
                      type: boolean
                      description: Whether tax is included in the price.
                    rate:
                      type: number
                      description: Tax rate as a decimal.
                    taxableAmount:
                      type: number
                      description: Amount subject to tax in major units.
                  required:
                    - amount
                    - inclusive
                    - rate
                    - taxableAmount
                  additionalProperties: false
                description: Tax breakdown.
              timezoneId:
                type: string
                description: Timezone of the invoice.
              title:
                type: string
                description: Invoice title.
              totalAmount:
                type: number
                description: Total amount in major units.
              totalExcludingTaxAmount:
                type: number
                description: Total amount excluding tax in major units.
              transaction:
                deprecated: true
                description: Deprecated. Use payments instead.
                type: object
                properties:
                  amount:
                    type: number
                  createDate:
                    type: string
                    format: date-time
                  id:
                    type: string
                    format: uuid
                  paymentMethod:
                    type: object
                    properties:
                      label:
                        type: string
                      type:
                        type: string
                    required:
                      - type
                    additionalProperties: false
                  refund:
                    type: object
                    properties:
                      amount:
                        type: number
                      createDate:
                        type: string
                        format: date-time
                    required:
                      - amount
                      - createDate
                    additionalProperties: false
                  refunds:
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: number
                        createDate:
                          type: string
                          format: date-time
                        currencyCode:
                          type: string
                        id:
                          type: string
                          format: uuid
                      required:
                        - amount
                        - createDate
                        - currencyCode
                        - id
                      additionalProperties: false
                  status:
                    type: string
                    enum:
                      - canceled
                      - failed
                      - pending
                      - processing
                      - succeeded
                required:
                  - amount
                  - createDate
                  - id
                  - status
                additionalProperties: false
              user:
                deprecated: true
                description: Deprecated. Use customer.user instead.
              voidDate:
                description: ISO timestamp of when the invoice was voided.
                type: string
                format: date-time
            required:
              - amountDue
              - amountPaid
              - amountRemaining
              - appliedBalance
              - baseAmounts
              - createDate
              - currencyCode
              - customer
              - itemsCount
              - locationRef
              - payments
              - postPaymentCreation
              - postPaymentCreditNotesAmount
              - prePaymentCreditNotesAmount
              - status
              - subtotalAmount
              - subtotalExcludingTaxAmount
              - taxes
              - timezoneId
              - title
              - totalAmount
              - totalExcludingTaxAmount
          description: List of invoices.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - invoices
      additionalProperties: false
    invoice:
      type: object
      additionalProperties: false
      properties:
        amount:
          deprecated: true
          description: Deprecated. Use totalAmount instead.
          type: number
        amountDue:
          type: number
          description: Amount due in major units (from base or alt currency).
        amountPaid:
          type: number
          description: Total amount paid in major units.
        amountRemaining:
          type: number
          description: Amount remaining to be paid in major units.
        appliedBalance:
          type: number
          description: Applied customer balance offset in major units.
        autoChargeFailed:
          description: Whether the last auto-charge attempt failed.
          type: boolean
        autoCreateDate:
          description: Date of scheduled automatic invoice creation.
          type: string
          format: date-time
        baseAmounts:
          type: object
          properties:
            amountDue:
              type: number
              description: Amount due in major units.
            appliedBalance:
              type: number
              description: Applied customer balance offset in major units.
            currencyCode:
              type: string
              description: ISO currency code.
            postPaymentCreditNotesAmount:
              type: number
              description: Post-payment credit notes amount in major units.
            prePaymentCreditNotesAmount:
              type: number
              description: Pre-payment credit notes amount in major units.
            subtotalAmount:
              type: number
              description: Subtotal amount in major units.
            subtotalExcludingTaxAmount:
              type: number
              description: Subtotal excluding tax in major units.
            taxes:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Tax amount in major units.
                  inclusive:
                    type: boolean
                    description: Whether tax is included in the price.
                  rate:
                    type: number
                    description: Tax rate as a decimal.
                  taxableAmount:
                    type: number
                    description: Amount subject to tax in major units.
                required:
                  - amount
                  - inclusive
                  - rate
                  - taxableAmount
                additionalProperties: false
              description: Tax breakdown.
            totalAmount:
              type: number
              description: Total amount in major units.
            totalExcludingTaxAmount:
              type: number
              description: Total amount excluding tax in major units.
          required:
            - amountDue
            - appliedBalance
            - currencyCode
            - postPaymentCreditNotesAmount
            - prePaymentCreditNotesAmount
            - subtotalAmount
            - subtotalExcludingTaxAmount
            - taxes
            - totalAmount
            - totalExcludingTaxAmount
          additionalProperties: false
          description: Amounts in the base currency.
        company:
          deprecated: true
          description: Deprecated. Use customer instead.
        companyRef:
          description: ID of the associated company.
          type: string
          format: uuid
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the invoice was created.
        currencyCode:
          type: string
          description: ISO currency code (from base or alt currency).
        customer:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: ID of the company or membership.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            title:
              description: Company name.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or a user.
            user:
              description: User details for membership customers.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: User ID.
                name:
                  description: First name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: Last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer associated with this invoice.
        customerAddress:
          description: Customer billing address.
          type: object
          properties:
            city:
              type: string
            countryCode:
              nullable: true
              type: string
            line1:
              type: string
            line2:
              type: string
            postalCode:
              type: string
            state:
              type: string
          required:
            - city
            - countryCode
            - line1
            - line2
            - postalCode
            - state
          additionalProperties: false
        customerName:
          description: Customer legal name.
          type: string
        customerTaxId:
          description: Customer tax ID.
          type: string
        deleteDate:
          description: ISO timestamp of when the invoice was deleted.
          type: string
          format: date-time
        dueDate:
          description: Payment due date.
          type: string
          format: date-time
        locationAddress:
          description: Location billing address.
          type: object
          properties:
            city:
              type: string
            countryCode:
              nullable: true
              type: string
            line1:
              type: string
            line2:
              type: string
            postalCode:
              type: string
            state:
              type: string
          required:
            - city
            - countryCode
            - line1
            - line2
            - postalCode
            - state
          additionalProperties: false
        locationName:
          description: Location legal name.
          type: string
        locationTaxId:
          description: Location tax ID.
          type: string
        dueDays:
          description: Number of days until payment is due.
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        dueType:
          description: How the due date is calculated.
          type: string
          enum:
            - date
            - days
            - default
        id:
          description: Unique identifier of the invoice.
          type: string
          format: uuid
        internalNote:
          description: Internal memo (visible to admins only).
          type: string
        issueDate:
          description: ISO timestamp of when the invoice was issued.
          type: string
          format: date-time
        items:
          deprecated: true
          description: Deprecated. Invoice line items.
          type: array
          items: {}
        itemsCount:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Number of line items on this invoice.
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location).
        membershipRef:
          description: ID of the associated membership.
          type: string
          format: uuid
        memo:
          deprecated: true
          description: Deprecated. Use internalNote instead.
          type: string
        netAmount:
          deprecated: true
          description: Deprecated. Use totalExcludingTaxAmount instead.
          type: number
        number:
          deprecated: true
          description: Deprecated. Use title instead.
          type: string
        paymentMethod:
          description: Auto-charge payment method, if configured.
          type: object
          properties:
            cardMask:
              type: string
            label:
              type: string
            mask:
              type: string
          additionalProperties: false
        payments:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the payment was recorded.
              dispute:
                description: Payment dispute details.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the dispute was opened.
                required:
                  - createDate
                additionalProperties: false
              method:
                type: object
                properties:
                  external:
                    description: Present when type is external.
                    type: object
                    properties: {}
                    additionalProperties: false
                  paymentGateway:
                    description: Present when type is paymentGateway.
                    type: object
                    properties:
                      gateway:
                        type: string
                        description: Payment gateway identifier.
                      label:
                        description: Display label for the payment gateway.
                        type: string
                      mask:
                        description: Masked card or account identifier.
                        type: string
                      title:
                        description: Display title for the payment gateway.
                        type: string
                    required:
                      - gateway
                    additionalProperties: false
                  type:
                    type: string
                    enum:
                      - external
                      - paymentGateway
                    description: Payment method type.
                required:
                  - type
                additionalProperties: false
                description: Payment method used.
              paymentDate:
                description: ISO timestamp of when the money was received. Absent until the payment succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it.
                type: string
                format: date-time
              price:
                type: object
                properties:
                  money:
                    type: object
                    properties:
                      currencyCode:
                        type: string
                        description: ISO currency code.
                      grossAmount:
                        type: number
                        description: Payment amount in major units.
                    required:
                      - currencyCode
                      - grossAmount
                    additionalProperties: false
                  type:
                    type: string
                    enum:
                      - money
                required:
                  - money
                  - type
                additionalProperties: false
                description: Payment price details.
              refundable:
                type: boolean
                description: Whether this payment can be refunded.
              refunds:
                description: Refunds issued against this payment.
                type: object
                properties:
                  money:
                    type: array
                    items:
                      type: object
                      properties:
                        createDate:
                          type: string
                          format: date-time
                        currencyCode:
                          type: string
                        grossAmount:
                          type: number
                        id:
                          type: string
                          format: uuid
                      required:
                        - createDate
                        - currencyCode
                        - grossAmount
                        - id
                      additionalProperties: false
                  type:
                    type: string
                    enum:
                      - money
                required:
                  - type
                additionalProperties: false
              status:
                type: string
                enum:
                  - canceled
                  - failed
                  - pending
                  - processing
                  - succeeded
                description: Payment status.
              surcharge:
                description: Payment surcharge details.
                type: object
                properties:
                  money:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Surcharge amount in major units.
                      currencyCode:
                        type: string
                        description: ISO currency code.
                      percentage:
                        description: Surcharge percentage.
                        type: number
                      rate:
                        description: Surcharge rate.
                        type: number
                    required:
                      - amount
                      - currencyCode
                    additionalProperties: false
                  type:
                    type: string
                    enum:
                      - money
                required:
                  - money
                  - type
                additionalProperties: false
              transactionRef:
                type: string
                format: uuid
                description: ID of the associated transaction.
            required:
              - createDate
              - method
              - price
              - refundable
              - status
              - transactionRef
          description: Payment records for this invoice.
        pdfUrl:
          description: URL to download the invoice PDF (issued invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
          type: string
        postPaymentCreation:
          type: boolean
          description: Whether this invoice was created post-payment.
        postPaymentCreditAmount:
          deprecated: true
          description: Deprecated. Use baseAmounts.postPaymentCreditNotesAmount instead.
          type: number
        postPaymentCreditNotesAmount:
          type: number
          description: Post-payment credit notes amount in major units.
        prePaymentCreditAmount:
          deprecated: true
          description: Deprecated. Use baseAmounts.prePaymentCreditNotesAmount instead.
          type: number
        prePaymentCreditNotesAmount:
          type: number
          description: Pre-payment credit notes amount in major units.
        receiptPdfUrl:
          description: URL to download the receipt PDF (paid invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
          type: string
        startingBalance:
          description: Customer balance at draft creation.
          type: number
        status:
          type: string
          enum:
            - draft
            - issued
            - paid
            - voided
          description: Invoice status.
        subscriptionRef:
          description: ID of the associated subscription.
          type: string
          format: uuid
        subtotalAmount:
          type: number
          description: Subtotal amount in major units.
        subtotalExcludingTaxAmount:
          type: number
          description: Subtotal excluding tax in major units.
        taxAmount:
          deprecated: true
          description: Deprecated. Use baseAmounts.taxes instead.
          type: number
        taxes:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Tax amount in major units.
              inclusive:
                type: boolean
                description: Whether tax is included in the price.
              rate:
                type: number
                description: Tax rate as a decimal.
              taxableAmount:
                type: number
                description: Amount subject to tax in major units.
            required:
              - amount
              - inclusive
              - rate
              - taxableAmount
            additionalProperties: false
          description: Tax breakdown.
        timezoneId:
          type: string
          description: Timezone of the invoice.
        title:
          type: string
          description: Invoice title.
        totalAmount:
          type: number
          description: Total amount in major units.
        totalExcludingTaxAmount:
          type: number
          description: Total amount excluding tax in major units.
        transaction:
          deprecated: true
          description: Deprecated. Use payments instead.
          type: object
          properties:
            amount:
              type: number
            createDate:
              type: string
              format: date-time
            id:
              type: string
              format: uuid
            paymentMethod:
              type: object
              properties:
                label:
                  type: string
                type:
                  type: string
              required:
                - type
              additionalProperties: false
            refund:
              type: object
              properties:
                amount:
                  type: number
                createDate:
                  type: string
                  format: date-time
              required:
                - amount
                - createDate
              additionalProperties: false
            refunds:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                  createDate:
                    type: string
                    format: date-time
                  currencyCode:
                    type: string
                  id:
                    type: string
                    format: uuid
                required:
                  - amount
                  - createDate
                  - currencyCode
                  - id
                additionalProperties: false
            status:
              type: string
              enum:
                - canceled
                - failed
                - pending
                - processing
                - succeeded
          required:
            - amount
            - createDate
            - id
            - status
          additionalProperties: false
        user:
          deprecated: true
          description: Deprecated. Use customer.user instead.
        voidDate:
          description: ISO timestamp of when the invoice was voided.
          type: string
          format: date-time
      required:
        - amountDue
        - amountPaid
        - amountRemaining
        - appliedBalance
        - baseAmounts
        - createDate
        - currencyCode
        - customer
        - itemsCount
        - locationRef
        - payments
        - postPaymentCreation
        - postPaymentCreditNotesAmount
        - prePaymentCreditNotesAmount
        - status
        - subtotalAmount
        - subtotalExcludingTaxAmount
        - taxes
        - timezoneId
        - title
        - totalAmount
        - totalExcludingTaxAmount
    getInvoice:
      type: object
      properties:
        invoice:
          type: object
          additionalProperties: false
          description: The invoice.
          properties:
            amount:
              deprecated: true
              description: Deprecated. Use totalAmount instead.
              type: number
            amountDue:
              type: number
              description: Amount due in major units (from base or alt currency).
            amountPaid:
              type: number
              description: Total amount paid in major units.
            amountRemaining:
              type: number
              description: Amount remaining to be paid in major units.
            appliedBalance:
              type: number
              description: Applied customer balance offset in major units.
            autoChargeFailed:
              description: Whether the last auto-charge attempt failed.
              type: boolean
            autoCreateDate:
              description: Date of scheduled automatic invoice creation.
              type: string
              format: date-time
            baseAmounts:
              type: object
              properties:
                amountDue:
                  type: number
                  description: Amount due in major units.
                appliedBalance:
                  type: number
                  description: Applied customer balance offset in major units.
                currencyCode:
                  type: string
                  description: ISO currency code.
                postPaymentCreditNotesAmount:
                  type: number
                  description: Post-payment credit notes amount in major units.
                prePaymentCreditNotesAmount:
                  type: number
                  description: Pre-payment credit notes amount in major units.
                subtotalAmount:
                  type: number
                  description: Subtotal amount in major units.
                subtotalExcludingTaxAmount:
                  type: number
                  description: Subtotal excluding tax in major units.
                taxes:
                  type: array
                  items:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Tax amount in major units.
                      inclusive:
                        type: boolean
                        description: Whether tax is included in the price.
                      rate:
                        type: number
                        description: Tax rate as a decimal.
                      taxableAmount:
                        type: number
                        description: Amount subject to tax in major units.
                    required:
                      - amount
                      - inclusive
                      - rate
                      - taxableAmount
                    additionalProperties: false
                  description: Tax breakdown.
                totalAmount:
                  type: number
                  description: Total amount in major units.
                totalExcludingTaxAmount:
                  type: number
                  description: Total amount excluding tax in major units.
              required:
                - amountDue
                - appliedBalance
                - currencyCode
                - postPaymentCreditNotesAmount
                - prePaymentCreditNotesAmount
                - subtotalAmount
                - subtotalExcludingTaxAmount
                - taxes
                - totalAmount
                - totalExcludingTaxAmount
              additionalProperties: false
              description: Amounts in the base currency.
            company:
              deprecated: true
              description: Deprecated. Use customer instead.
            companyRef:
              description: ID of the associated company.
              type: string
              format: uuid
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the invoice was created.
            currencyCode:
              type: string
              description: ISO currency code (from base or alt currency).
            customer:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the company or membership.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                title:
                  description: Company name.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or a user.
                user:
                  description: User details for membership customers.
                  type: object
                  properties:
                    about:
                      description: User bio.
                      nullable: true
                      type: string
                    email:
                      description: User email address.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: User ID.
                    name:
                      description: First name.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number.
                      nullable: true
                      type: string
                    photoUrl:
                      description: Profile photo URL.
                      nullable: true
                      type: string
                    surname:
                      description: Last name.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
              description: Customer associated with this invoice.
            customerAddress:
              description: Customer billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            customerName:
              description: Customer legal name.
              type: string
            customerTaxId:
              description: Customer tax ID.
              type: string
            deleteDate:
              description: ISO timestamp of when the invoice was deleted.
              type: string
              format: date-time
            dueDate:
              description: Payment due date.
              type: string
              format: date-time
            locationAddress:
              description: Location billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            locationName:
              description: Location legal name.
              type: string
            locationTaxId:
              description: Location tax ID.
              type: string
            dueDays:
              description: Number of days until payment is due.
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            dueType:
              description: How the due date is calculated.
              type: string
              enum:
                - date
                - days
                - default
            id:
              description: Unique identifier of the invoice.
              type: string
              format: uuid
            internalNote:
              description: Internal memo (visible to admins only).
              type: string
            issueDate:
              description: ISO timestamp of when the invoice was issued.
              type: string
              format: date-time
            items:
              deprecated: true
              description: Deprecated. Invoice line items.
              type: array
              items: {}
            itemsCount:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Number of line items on this invoice.
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location).
            membershipRef:
              description: ID of the associated membership.
              type: string
              format: uuid
            memo:
              deprecated: true
              description: Deprecated. Use internalNote instead.
              type: string
            netAmount:
              deprecated: true
              description: Deprecated. Use totalExcludingTaxAmount instead.
              type: number
            number:
              deprecated: true
              description: Deprecated. Use title instead.
              type: string
            paymentMethod:
              description: Auto-charge payment method, if configured.
              type: object
              properties:
                cardMask:
                  type: string
                label:
                  type: string
                mask:
                  type: string
              additionalProperties: false
            payments:
              type: array
              items:
                type: object
                additionalProperties: false
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the payment was recorded.
                  dispute:
                    description: Payment dispute details.
                    type: object
                    properties:
                      createDate:
                        type: string
                        format: date-time
                        description: ISO timestamp of when the dispute was opened.
                    required:
                      - createDate
                    additionalProperties: false
                  method:
                    type: object
                    properties:
                      external:
                        description: Present when type is external.
                        type: object
                        properties: {}
                        additionalProperties: false
                      paymentGateway:
                        description: Present when type is paymentGateway.
                        type: object
                        properties:
                          gateway:
                            type: string
                            description: Payment gateway identifier.
                          label:
                            description: Display label for the payment gateway.
                            type: string
                          mask:
                            description: Masked card or account identifier.
                            type: string
                          title:
                            description: Display title for the payment gateway.
                            type: string
                        required:
                          - gateway
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - external
                          - paymentGateway
                        description: Payment method type.
                    required:
                      - type
                    additionalProperties: false
                    description: Payment method used.
                  paymentDate:
                    description: ISO timestamp of when the money was received. Absent until the payment succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it.
                    type: string
                    format: date-time
                  price:
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          grossAmount:
                            type: number
                            description: Payment amount in major units.
                        required:
                          - currencyCode
                          - grossAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - money
                      - type
                    additionalProperties: false
                    description: Payment price details.
                  refundable:
                    type: boolean
                    description: Whether this payment can be refunded.
                  refunds:
                    description: Refunds issued against this payment.
                    type: object
                    properties:
                      money:
                        type: array
                        items:
                          type: object
                          properties:
                            createDate:
                              type: string
                              format: date-time
                            currencyCode:
                              type: string
                            grossAmount:
                              type: number
                            id:
                              type: string
                              format: uuid
                          required:
                            - createDate
                            - currencyCode
                            - grossAmount
                            - id
                          additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - type
                    additionalProperties: false
                  status:
                    type: string
                    enum:
                      - canceled
                      - failed
                      - pending
                      - processing
                      - succeeded
                    description: Payment status.
                  surcharge:
                    description: Payment surcharge details.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          amount:
                            type: number
                            description: Surcharge amount in major units.
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          percentage:
                            description: Surcharge percentage.
                            type: number
                          rate:
                            description: Surcharge rate.
                            type: number
                        required:
                          - amount
                          - currencyCode
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - money
                      - type
                    additionalProperties: false
                  transactionRef:
                    type: string
                    format: uuid
                    description: ID of the associated transaction.
                required:
                  - createDate
                  - method
                  - price
                  - refundable
                  - status
                  - transactionRef
              description: Payment records for this invoice.
            pdfUrl:
              description: URL to download the invoice PDF (issued invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
              type: string
            postPaymentCreation:
              type: boolean
              description: Whether this invoice was created post-payment.
            postPaymentCreditAmount:
              deprecated: true
              description: Deprecated. Use baseAmounts.postPaymentCreditNotesAmount instead.
              type: number
            postPaymentCreditNotesAmount:
              type: number
              description: Post-payment credit notes amount in major units.
            prePaymentCreditAmount:
              deprecated: true
              description: Deprecated. Use baseAmounts.prePaymentCreditNotesAmount instead.
              type: number
            prePaymentCreditNotesAmount:
              type: number
              description: Pre-payment credit notes amount in major units.
            receiptPdfUrl:
              description: URL to download the receipt PDF (paid invoices only). The link is replaced by a new one 180 days after the invoice was issued and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the invoice again for the current link.
              type: string
            startingBalance:
              description: Customer balance at draft creation.
              type: number
            status:
              type: string
              enum:
                - draft
                - issued
                - paid
                - voided
              description: Invoice status.
            subscriptionRef:
              description: ID of the associated subscription.
              type: string
              format: uuid
            subtotalAmount:
              type: number
              description: Subtotal amount in major units.
            subtotalExcludingTaxAmount:
              type: number
              description: Subtotal excluding tax in major units.
            taxAmount:
              deprecated: true
              description: Deprecated. Use baseAmounts.taxes instead.
              type: number
            taxes:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Tax amount in major units.
                  inclusive:
                    type: boolean
                    description: Whether tax is included in the price.
                  rate:
                    type: number
                    description: Tax rate as a decimal.
                  taxableAmount:
                    type: number
                    description: Amount subject to tax in major units.
                required:
                  - amount
                  - inclusive
                  - rate
                  - taxableAmount
                additionalProperties: false
              description: Tax breakdown.
            timezoneId:
              type: string
              description: Timezone of the invoice.
            title:
              type: string
              description: Invoice title.
            totalAmount:
              type: number
              description: Total amount in major units.
            totalExcludingTaxAmount:
              type: number
              description: Total amount excluding tax in major units.
            transaction:
              deprecated: true
              description: Deprecated. Use payments instead.
              type: object
              properties:
                amount:
                  type: number
                createDate:
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                paymentMethod:
                  type: object
                  properties:
                    label:
                      type: string
                    type:
                      type: string
                  required:
                    - type
                  additionalProperties: false
                refund:
                  type: object
                  properties:
                    amount:
                      type: number
                    createDate:
                      type: string
                      format: date-time
                  required:
                    - amount
                    - createDate
                  additionalProperties: false
                refunds:
                  type: array
                  items:
                    type: object
                    properties:
                      amount:
                        type: number
                      createDate:
                        type: string
                        format: date-time
                      currencyCode:
                        type: string
                      id:
                        type: string
                        format: uuid
                    required:
                      - amount
                      - createDate
                      - currencyCode
                      - id
                    additionalProperties: false
                status:
                  type: string
                  enum:
                    - canceled
                    - failed
                    - pending
                    - processing
                    - succeeded
              required:
                - amount
                - createDate
                - id
                - status
              additionalProperties: false
            user:
              deprecated: true
              description: Deprecated. Use customer.user instead.
            voidDate:
              description: ISO timestamp of when the invoice was voided.
              type: string
              format: date-time
          required:
            - amountDue
            - amountPaid
            - amountRemaining
            - appliedBalance
            - baseAmounts
            - createDate
            - currencyCode
            - customer
            - itemsCount
            - locationRef
            - payments
            - postPaymentCreation
            - postPaymentCreditNotesAmount
            - prePaymentCreditNotesAmount
            - status
            - subtotalAmount
            - subtotalExcludingTaxAmount
            - taxes
            - timezoneId
            - title
            - totalAmount
            - totalExcludingTaxAmount
      required:
        - invoice
      additionalProperties: false
    invoiceItem:
      type: object
      properties:
        amount:
          type: number
          deprecated: true
          description: Deprecated. Use totalAmount instead.
        baseAmounts:
          type: object
          properties:
            currencyCode:
              type: string
              description: ISO currency code.
            discountedAmount:
              type: number
              description: Discount deduction in major units.
            tax:
              description: Tax details.
              type: object
              properties:
                amount:
                  type: number
                  description: Tax amount in major units.
                inclusive:
                  type: boolean
                  description: Whether tax is included in the price.
                rate:
                  type: number
                  description: Tax rate as a decimal.
                taxableAmount:
                  type: number
                  description: Amount subject to tax in major units.
              required:
                - amount
                - inclusive
                - rate
                - taxableAmount
              additionalProperties: false
            totalAmount:
              type: number
              description: Total in major units.
            totalExcludingTaxAmount:
              type: number
              description: Total excluding tax in major units.
            unitAmount:
              type: number
              description: Unit price in major units.
            unitExcludingTaxAmount:
              type: number
              description: Unit price excluding tax in major units.
          required:
            - currencyCode
            - discountedAmount
            - totalAmount
            - totalExcludingTaxAmount
            - unitAmount
            - unitExcludingTaxAmount
          additionalProperties: false
          description: Amounts in the original base currency, before any alt-currency conversion.
        booking:
          deprecated: true
          description: Deprecated. Use product.bookingRef instead.
          type: object
          properties: {}
          additionalProperties: {}
        companyRef:
          description: ID of the associated company.
          type: string
          format: uuid
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the item was created.
        creditPackage:
          deprecated: true
          description: Deprecated.
          type: object
          properties: {}
          additionalProperties: {}
        currencyCode:
          type: string
          description: ISO currency code. Reflects the alt currency when present, otherwise the base currency.
        customer:
          description: Customer the item is billed to.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: ID of the company or membership.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            title:
              description: Company name.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or a user.
            user:
              description: User details for membership customers.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: User ID.
                name:
                  description: First name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: Last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
        deleteDate:
          description: ISO timestamp of when the item was deleted.
          type: string
          format: date-time
        description:
          type: string
          deprecated: true
          description: Deprecated. Use product.title instead.
        discountedAmount:
          type: number
          description: Discount deduction in major units. Reflects the alt currency when present, otherwise the base currency.
        discounts:
          type: array
          items:
            type: object
            properties:
              coupon:
                type: object
                properties:
                  amountOff:
                    description: Fixed discount amount in major units.
                    type: number
                  currencyCode:
                    description: Currency code for amountOff.
                    type: string
                  duration:
                    description: Discount duration type.
                    type: string
                  durationInMonths:
                    description: Number of months the discount applies.
                    type: number
                  id:
                    description: Coupon ID.
                    type: string
                    format: uuid
                  percentOff:
                    description: Percentage discount.
                    type: number
                  productTypes:
                    description: Product types this coupon applies to.
                    type: array
                    items:
                      type: string
                  type:
                    description: Coupon type.
                    type: string
                additionalProperties: false
                description: Coupon applied to this item.
              promocode:
                description: Promocode applied to this item.
                type: object
                properties:
                  code:
                    type: string
                    description: Promocode string.
                  expiration:
                    description: Promocode expiration date.
                    type: string
                    format: date-time
                  id:
                    type: string
                    format: uuid
                    description: Promocode ID.
                  limitByFirstPurchase:
                    description: Whether limited to first purchase only.
                    type: boolean
                required:
                  - code
                  - id
                additionalProperties: false
              subscriptionId:
                description: ID of the subscription this discount is associated with.
                type: string
                format: uuid
            required:
              - coupon
            additionalProperties: false
          description: Applied discounts.
        id:
          type: string
          description: Unique identifier of the invoice item.
        invoiceRef:
          description: ID of the invoice this item belongs to.
          type: string
          format: uuid
        issueDate:
          description: ISO timestamp of when the item was issued with its invoice.
          type: string
          format: date-time
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location).
        membershipRef:
          description: ID of the associated membership.
          type: string
          format: uuid
        membershipRefCreatedBy:
          description: ID of the membership that created this item.
          type: string
          format: uuid
        netAmount:
          type: number
          deprecated: true
          description: Deprecated. Use totalExcludingTaxAmount instead.
        netUnitAmount:
          type: number
          deprecated: true
          description: Deprecated. Use unitExcludingTaxAmount instead.
        orderItem:
          deprecated: true
          description: Deprecated. Use product.orderRef instead.
          type: object
          properties: {}
          additionalProperties: {}
        period:
          description: Billing period for subscription items.
          type: object
          properties:
            endDate:
              type: string
              format: date-time
              description: Subscription period end date.
            startDate:
              type: string
              format: date-time
              description: Subscription period start date.
          required:
            - endDate
            - startDate
          additionalProperties: false
        plan:
          deprecated: true
          description: Deprecated. Use period instead.
          type: object
          properties: {}
          additionalProperties: {}
        product:
          type: object
          properties:
            bookingRef:
              description: ID of the associated booking.
              type: string
              format: uuid
            eventTicketRef:
              description: ID of the associated event ticket.
              type: string
              format: uuid
            optionRef:
              description: ID of the product option.
              type: string
              format: uuid
            orderRef:
              description: ID of the associated order.
              type: string
              format: uuid
            title:
              type: string
              description: Display title of the product.
            type:
              type: string
              enum:
                - creditPackage
                - custom
                - booking
                - eventTicket
                - subscription
                - order
              description: Type of the invoice item.
          required:
            - title
            - type
          additionalProperties: false
          description: Product details.
        quantity:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Quantity of units.
        subscriptionRef:
          description: ID of the associated subscription.
          type: string
          format: uuid
        tax:
          description: Tax details. Reflects the alt currency when present, otherwise the base currency.
          type: object
          properties:
            amount:
              type: number
              description: Tax amount in major units.
            inclusive:
              type: boolean
              description: Whether tax is included in the price.
            rate:
              type: number
              description: Tax rate as a decimal.
            taxableAmount:
              type: number
              description: Amount subject to tax in major units.
          required:
            - amount
            - inclusive
            - rate
            - taxableAmount
          additionalProperties: false
        taxAmount:
          deprecated: true
          description: Deprecated. Use baseAmounts.tax.amount instead.
          type: number
        taxableAmount:
          deprecated: true
          description: Deprecated. Use baseAmounts.tax.taxableAmount instead.
          type: number
        ticket:
          deprecated: true
          description: Deprecated. Use product.eventTicketRef instead.
          type: object
          properties: {}
          additionalProperties: {}
        totalAmount:
          type: number
          description: Total in major units. Reflects the alt currency when present, otherwise the base currency.
        totalExcludingTaxAmount:
          type: number
          description: Total excluding tax in major units. Reflects the alt currency when present, otherwise the base currency.
        type:
          type: string
          deprecated: true
          description: Deprecated. Use product.type instead.
        unitAmount:
          type: number
          description: Unit price in major units. Reflects the alt currency when present, otherwise the base currency.
        unitExcludingTaxAmount:
          type: number
          description: Unit price excluding tax in major units. Reflects the alt currency when present, otherwise the base currency.
        userCreatedBy:
          description: User who created this item.
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            surname:
              type: string
          required:
            - id
          additionalProperties: false
      required:
        - amount
        - baseAmounts
        - createDate
        - currencyCode
        - description
        - discountedAmount
        - discounts
        - id
        - locationRef
        - netAmount
        - netUnitAmount
        - product
        - quantity
        - totalAmount
        - totalExcludingTaxAmount
        - type
        - unitAmount
        - unitExcludingTaxAmount
      additionalProperties: false
    invoicePayment:
      type: object
      additionalProperties: false
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the payment was recorded.
        dispute:
          description: Payment dispute details.
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the dispute was opened.
          required:
            - createDate
          additionalProperties: false
        method:
          type: object
          properties:
            external:
              description: Present when type is external.
              type: object
              properties: {}
              additionalProperties: false
            paymentGateway:
              description: Present when type is paymentGateway.
              type: object
              properties:
                gateway:
                  type: string
                  description: Payment gateway identifier.
                label:
                  description: Display label for the payment gateway.
                  type: string
                mask:
                  description: Masked card or account identifier.
                  type: string
                title:
                  description: Display title for the payment gateway.
                  type: string
              required:
                - gateway
              additionalProperties: false
            type:
              type: string
              enum:
                - external
                - paymentGateway
              description: Payment method type.
          required:
            - type
          additionalProperties: false
          description: Payment method used.
        paymentDate:
          description: ISO timestamp of when the money was received. Absent until the payment succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it.
          type: string
          format: date-time
        price:
          type: object
          properties:
            money:
              type: object
              properties:
                currencyCode:
                  type: string
                  description: ISO currency code.
                grossAmount:
                  type: number
                  description: Payment amount in major units.
              required:
                - currencyCode
                - grossAmount
              additionalProperties: false
            type:
              type: string
              enum:
                - money
          required:
            - money
            - type
          additionalProperties: false
          description: Payment price details.
        refundable:
          type: boolean
          description: Whether this payment can be refunded.
        refunds:
          description: Refunds issued against this payment.
          type: object
          properties:
            money:
              type: array
              items:
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                  currencyCode:
                    type: string
                  grossAmount:
                    type: number
                  id:
                    type: string
                    format: uuid
                required:
                  - createDate
                  - currencyCode
                  - grossAmount
                  - id
                additionalProperties: false
            type:
              type: string
              enum:
                - money
          required:
            - type
          additionalProperties: false
        status:
          type: string
          enum:
            - canceled
            - failed
            - pending
            - processing
            - succeeded
          description: Payment status.
        surcharge:
          description: Payment surcharge details.
          type: object
          properties:
            money:
              type: object
              properties:
                amount:
                  type: number
                  description: Surcharge amount in major units.
                currencyCode:
                  type: string
                  description: ISO currency code.
                percentage:
                  description: Surcharge percentage.
                  type: number
                rate:
                  description: Surcharge rate.
                  type: number
              required:
                - amount
                - currencyCode
              additionalProperties: false
            type:
              type: string
              enum:
                - money
          required:
            - money
            - type
          additionalProperties: false
        transactionRef:
          type: string
          format: uuid
          description: ID of the associated transaction.
      required:
        - createDate
        - method
        - price
        - refundable
        - status
        - transactionRef
    getInvoiceItems:
      type: object
      properties:
        invoiceItems:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                deprecated: true
                description: Deprecated. Use totalAmount instead.
              baseAmounts:
                type: object
                properties:
                  currencyCode:
                    type: string
                    description: ISO currency code.
                  discountedAmount:
                    type: number
                    description: Discount deduction in major units.
                  tax:
                    description: Tax details.
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Tax amount in major units.
                      inclusive:
                        type: boolean
                        description: Whether tax is included in the price.
                      rate:
                        type: number
                        description: Tax rate as a decimal.
                      taxableAmount:
                        type: number
                        description: Amount subject to tax in major units.
                    required:
                      - amount
                      - inclusive
                      - rate
                      - taxableAmount
                    additionalProperties: false
                  totalAmount:
                    type: number
                    description: Total in major units.
                  totalExcludingTaxAmount:
                    type: number
                    description: Total excluding tax in major units.
                  unitAmount:
                    type: number
                    description: Unit price in major units.
                  unitExcludingTaxAmount:
                    type: number
                    description: Unit price excluding tax in major units.
                required:
                  - currencyCode
                  - discountedAmount
                  - totalAmount
                  - totalExcludingTaxAmount
                  - unitAmount
                  - unitExcludingTaxAmount
                additionalProperties: false
                description: Amounts in the original base currency, before any alt-currency conversion.
              booking:
                deprecated: true
                description: Deprecated. Use product.bookingRef instead.
                type: object
                properties: {}
                additionalProperties: {}
              companyRef:
                description: ID of the associated company.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the item was created.
              creditPackage:
                deprecated: true
                description: Deprecated.
                type: object
                properties: {}
                additionalProperties: {}
              currencyCode:
                type: string
                description: ISO currency code. Reflects the alt currency when present, otherwise the base currency.
              customer:
                description: Customer the item is billed to.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        description: User bio.
                        nullable: true
                        type: string
                      email:
                        description: User email address.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User ID.
                      name:
                        description: First name.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL.
                        nullable: true
                        type: string
                      surname:
                        description: Last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
              deleteDate:
                description: ISO timestamp of when the item was deleted.
                type: string
                format: date-time
              description:
                type: string
                deprecated: true
                description: Deprecated. Use product.title instead.
              discountedAmount:
                type: number
                description: Discount deduction in major units. Reflects the alt currency when present, otherwise the base currency.
              discounts:
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed discount amount in major units.
                          type: number
                        currencyCode:
                          description: Currency code for amountOff.
                          type: string
                        duration:
                          description: Discount duration type.
                          type: string
                        durationInMonths:
                          description: Number of months the discount applies.
                          type: number
                        id:
                          description: Coupon ID.
                          type: string
                          format: uuid
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types this coupon applies to.
                          type: array
                          items:
                            type: string
                        type:
                          description: Coupon type.
                          type: string
                      additionalProperties: false
                      description: Coupon applied to this item.
                    promocode:
                      description: Promocode applied to this item.
                      type: object
                      properties:
                        code:
                          type: string
                          description: Promocode string.
                        expiration:
                          description: Promocode expiration date.
                          type: string
                          format: date-time
                        id:
                          type: string
                          format: uuid
                          description: Promocode ID.
                        limitByFirstPurchase:
                          description: Whether limited to first purchase only.
                          type: boolean
                      required:
                        - code
                        - id
                      additionalProperties: false
                    subscriptionId:
                      description: ID of the subscription this discount is associated with.
                      type: string
                      format: uuid
                  required:
                    - coupon
                  additionalProperties: false
                description: Applied discounts.
              id:
                type: string
                description: Unique identifier of the invoice item.
              invoiceRef:
                description: ID of the invoice this item belongs to.
                type: string
                format: uuid
              issueDate:
                description: ISO timestamp of when the item was issued with its invoice.
                type: string
                format: date-time
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                description: ID of the associated membership.
                type: string
                format: uuid
              membershipRefCreatedBy:
                description: ID of the membership that created this item.
                type: string
                format: uuid
              netAmount:
                type: number
                deprecated: true
                description: Deprecated. Use totalExcludingTaxAmount instead.
              netUnitAmount:
                type: number
                deprecated: true
                description: Deprecated. Use unitExcludingTaxAmount instead.
              orderItem:
                deprecated: true
                description: Deprecated. Use product.orderRef instead.
                type: object
                properties: {}
                additionalProperties: {}
              period:
                description: Billing period for subscription items.
                type: object
                properties:
                  endDate:
                    type: string
                    format: date-time
                    description: Subscription period end date.
                  startDate:
                    type: string
                    format: date-time
                    description: Subscription period start date.
                required:
                  - endDate
                  - startDate
                additionalProperties: false
              plan:
                deprecated: true
                description: Deprecated. Use period instead.
                type: object
                properties: {}
                additionalProperties: {}
              product:
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  eventTicketRef:
                    description: ID of the associated event ticket.
                    type: string
                    format: uuid
                  optionRef:
                    description: ID of the product option.
                    type: string
                    format: uuid
                  orderRef:
                    description: ID of the associated order.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Display title of the product.
                  type:
                    type: string
                    enum:
                      - creditPackage
                      - custom
                      - booking
                      - eventTicket
                      - subscription
                      - order
                    description: Type of the invoice item.
                required:
                  - title
                  - type
                additionalProperties: false
                description: Product details.
              quantity:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Quantity of units.
              subscriptionRef:
                description: ID of the associated subscription.
                type: string
                format: uuid
              tax:
                description: Tax details. Reflects the alt currency when present, otherwise the base currency.
                type: object
                properties:
                  amount:
                    type: number
                    description: Tax amount in major units.
                  inclusive:
                    type: boolean
                    description: Whether tax is included in the price.
                  rate:
                    type: number
                    description: Tax rate as a decimal.
                  taxableAmount:
                    type: number
                    description: Amount subject to tax in major units.
                required:
                  - amount
                  - inclusive
                  - rate
                  - taxableAmount
                additionalProperties: false
              taxAmount:
                deprecated: true
                description: Deprecated. Use baseAmounts.tax.amount instead.
                type: number
              taxableAmount:
                deprecated: true
                description: Deprecated. Use baseAmounts.tax.taxableAmount instead.
                type: number
              ticket:
                deprecated: true
                description: Deprecated. Use product.eventTicketRef instead.
                type: object
                properties: {}
                additionalProperties: {}
              totalAmount:
                type: number
                description: Total in major units. Reflects the alt currency when present, otherwise the base currency.
              totalExcludingTaxAmount:
                type: number
                description: Total excluding tax in major units. Reflects the alt currency when present, otherwise the base currency.
              type:
                type: string
                deprecated: true
                description: Deprecated. Use product.type instead.
              unitAmount:
                type: number
                description: Unit price in major units. Reflects the alt currency when present, otherwise the base currency.
              unitExcludingTaxAmount:
                type: number
                description: Unit price excluding tax in major units. Reflects the alt currency when present, otherwise the base currency.
              userCreatedBy:
                description: User who created this item.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                  surname:
                    type: string
                required:
                  - id
                additionalProperties: false
            required:
              - amount
              - baseAmounts
              - createDate
              - currencyCode
              - description
              - discountedAmount
              - discounts
              - id
              - locationRef
              - netAmount
              - netUnitAmount
              - product
              - quantity
              - totalAmount
              - totalExcludingTaxAmount
              - type
              - unitAmount
              - unitExcludingTaxAmount
            additionalProperties: false
          description: List of invoice items.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - invoiceItems
      additionalProperties: false
    getCreditNotes:
      type: object
      properties:
        creditNotes:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              baseAmounts:
                type: object
                properties:
                  currencyCode:
                    type: string
                    description: ISO currency code.
                  grossAmount:
                    type: number
                    deprecated: true
                    description: Deprecated.
                  postPaymentAmount:
                    type: number
                    description: Post-payment credit amount in major units.
                  prePaymentAmount:
                    type: number
                    description: Pre-payment credit amount in major units.
                  subtotalAmount:
                    type: number
                    description: Subtotal in major units.
                  subtotalAmountExcludingTax:
                    type: number
                    description: Subtotal excluding tax in major units.
                  taxes:
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Tax amount in major units.
                        inclusive:
                          type: boolean
                          description: Whether tax is included in the price.
                        rate:
                          type: number
                          description: Tax rate as a decimal.
                        taxableAmount:
                          type: number
                          description: Amount subject to tax in major units.
                      required:
                        - amount
                        - inclusive
                        - rate
                        - taxableAmount
                      additionalProperties: false
                    description: Tax breakdown.
                  totalAmount:
                    type: number
                    description: Total in major units.
                  totalExcludingTaxAmount:
                    type: number
                    description: Total excluding tax in major units.
                required:
                  - currencyCode
                  - grossAmount
                  - postPaymentAmount
                  - prePaymentAmount
                  - subtotalAmount
                  - subtotalAmountExcludingTax
                  - taxes
                  - totalAmount
                  - totalExcludingTaxAmount
                additionalProperties: false
                description: Amounts in the base currency.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the credit note was created.
              creditAmount:
                description: Amount credited to customer balance in major units.
                type: number
              currencyCode:
                type: string
                description: ISO currency code (from base or alt currency).
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        description: User bio.
                        nullable: true
                        type: string
                      email:
                        description: User email address.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User ID.
                      name:
                        description: First name.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL.
                        nullable: true
                        type: string
                      surname:
                        description: Last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this credit note.
              effectiveDate:
                description: Effective date in YYYY-MM-DD format.
                type: string
              grossAmount:
                type: number
                deprecated: true
                description: Deprecated.
              id:
                type: string
                format: uuid
                description: Unique identifier of the credit note.
              internalNote:
                description: Internal memo (visible to admins only).
                type: string
              invoiceRef:
                type: string
                format: uuid
                description: ID of the invoice being credited.
              lines:
                type: array
                items:
                  type: object
                  properties:
                    baseAmounts:
                      type: object
                      properties:
                        currencyCode:
                          type: string
                          description: ISO currency code.
                        discountedAmount:
                          type: number
                          description: Discount deduction in major units.
                        tax:
                          description: Tax details.
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Tax amount in major units.
                            inclusive:
                              type: boolean
                              description: Whether tax is included in the price.
                            rate:
                              type: number
                              description: Tax rate as a decimal.
                            taxableAmount:
                              type: number
                              description: Amount subject to tax in major units.
                          required:
                            - amount
                            - inclusive
                            - rate
                            - taxableAmount
                          additionalProperties: false
                        totalAmount:
                          type: number
                          description: Total in major units.
                        totalExcludingTaxAmount:
                          type: number
                          description: Total excluding tax in major units.
                        unitAmount:
                          description: Unit price in major units.
                          type: number
                        unitExcludingTaxAmount:
                          description: Unit price excluding tax in major units.
                          type: number
                      required:
                        - currencyCode
                        - discountedAmount
                        - totalAmount
                        - totalExcludingTaxAmount
                      additionalProperties: false
                      description: Amounts in the base currency.
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of line item creation.
                    currencyCode:
                      type: string
                      description: ISO currency code.
                    discountedAmount:
                      type: number
                      description: Discount deduction in major units.
                    discounts:
                      description: Applied discounts.
                      type: array
                      items:
                        type: object
                        properties:
                          coupon:
                            type: object
                            properties:
                              amountOff:
                                description: Fixed discount amount in major units.
                                type: number
                              currencyCode:
                                description: Currency code for amountOff.
                                type: string
                              duration:
                                description: Discount duration type.
                                type: string
                              durationInMonths:
                                description: Number of months the discount applies.
                                type: number
                              id:
                                description: Coupon ID.
                                type: string
                                format: uuid
                              percentOff:
                                description: Percentage discount.
                                type: number
                              type:
                                description: Coupon type.
                                type: string
                            additionalProperties: false
                            description: Coupon applied.
                          promocode:
                            description: Promocode applied.
                            type: object
                            properties:
                              code:
                                type: string
                              expiration:
                                type: string
                                format: date-time
                              id:
                                type: string
                                format: uuid
                              limitByFirstPurchase:
                                type: boolean
                            required:
                              - code
                              - id
                            additionalProperties: false
                          subscriptionId:
                            description: Associated subscription ID.
                            type: string
                            format: uuid
                        required:
                          - coupon
                        additionalProperties: false
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the line item.
                    invoiceItemRef:
                      type: string
                      format: uuid
                      description: ID of the original invoice item.
                    invoiceRef:
                      type: string
                      format: uuid
                      description: ID of the invoice.
                    locationRef:
                      type: string
                      format: uuid
                      description: ID of the organization (location).
                    networkRef:
                      type: string
                      format: uuid
                      description: ID of the network.
                    quantity:
                      description: Quantity refunded.
                      type: number
                    tax:
                      description: Tax details.
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Tax amount in major units.
                        inclusive:
                          type: boolean
                          description: Whether tax is included in the price.
                        rate:
                          type: number
                          description: Tax rate as a decimal.
                        taxableAmount:
                          type: number
                          description: Amount subject to tax in major units.
                      required:
                        - amount
                        - inclusive
                        - rate
                        - taxableAmount
                      additionalProperties: false
                    totalAmount:
                      type: number
                      description: Total in major units.
                    totalExcludingTaxAmount:
                      type: number
                      description: Total excluding tax in major units.
                    unitAmount:
                      description: Unit price in major units.
                      type: number
                    unitExcludingTaxAmount:
                      description: Unit price excluding tax in major units.
                      type: number
                    updateDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of last update.
                  required:
                    - baseAmounts
                    - createDate
                    - currencyCode
                    - discountedAmount
                    - id
                    - invoiceItemRef
                    - invoiceRef
                    - locationRef
                    - networkRef
                    - totalAmount
                    - totalExcludingTaxAmount
                    - updateDate
                  additionalProperties: false
                description: Credit note line items.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              number:
                description: Credit note number.
                type: number
              outOfBandAmount:
                description: Out-of-band refund amount in major units.
                type: number
              pdfUrl:
                type: string
                description: URL to download the credit note PDF. The link is replaced by a new one 180 days after the credit note was created and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the credit note again for the current link.
              postPaymentAmount:
                type: number
                description: Post-payment credit amount in major units.
              prePaymentAmount:
                type: number
                description: Pre-payment credit amount in major units.
              reason:
                type: string
                enum:
                  - duplicate
                  - orderChange
                  - productUnsatisfactory
                  - fraudulent
                  - other
                description: Reason for the credit note.
              refunds:
                description: Refunds associated with this credit note.
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Refund amount in major units.
                    currencyCode:
                      type: string
                      description: ISO currency code.
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the refund.
                    method:
                      description: Refund payment method.
                      type: object
                      properties:
                        label:
                          description: Payment method label.
                          type: string
                        type:
                          type: string
                          enum:
                            - external
                            - paymentGateway
                          description: Payment method type.
                      required:
                        - type
                      additionalProperties: false
                    transactionRef:
                      type: string
                      format: uuid
                      description: ID of the transaction being refunded.
                  required:
                    - amount
                    - currencyCode
                    - id
                    - transactionRef
                  additionalProperties: false
              status:
                type: string
                enum:
                  - issued
                  - voided
                description: Credit note status.
              subtotalAmount:
                type: number
                description: Subtotal in major units.
              subtotalAmountExcludingTax:
                type: number
                description: Subtotal excluding tax in major units.
              taxes:
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Tax amount in major units.
                    inclusive:
                      type: boolean
                      description: Whether tax is included in the price.
                    rate:
                      type: number
                      description: Tax rate as a decimal.
                    taxableAmount:
                      type: number
                      description: Amount subject to tax in major units.
                  required:
                    - amount
                    - inclusive
                    - rate
                    - taxableAmount
                  additionalProperties: false
                description: Tax breakdown.
              title:
                type: string
                description: Credit note title.
              totalAmount:
                type: number
                description: Total in major units.
              totalExcludingTaxAmount:
                type: number
                description: Total excluding tax in major units.
              type:
                type: string
                enum:
                  - prePayment
                  - postPayment
                  - mixed
                description: Credit note type.
              updateDate:
                type: string
                format: date-time
                description: ISO timestamp of last update.
              voidDate:
                description: ISO timestamp of when the credit note was voided.
                type: string
                format: date-time
            required:
              - baseAmounts
              - createDate
              - currencyCode
              - customer
              - grossAmount
              - id
              - invoiceRef
              - lines
              - locationRef
              - networkRef
              - pdfUrl
              - postPaymentAmount
              - prePaymentAmount
              - reason
              - status
              - subtotalAmount
              - subtotalAmountExcludingTax
              - taxes
              - title
              - totalAmount
              - totalExcludingTaxAmount
              - type
              - updateDate
          description: List of credit notes.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - creditNotes
      additionalProperties: false
    creditNote:
      type: object
      additionalProperties: false
      properties:
        baseAmounts:
          type: object
          properties:
            currencyCode:
              type: string
              description: ISO currency code.
            grossAmount:
              type: number
              deprecated: true
              description: Deprecated.
            postPaymentAmount:
              type: number
              description: Post-payment credit amount in major units.
            prePaymentAmount:
              type: number
              description: Pre-payment credit amount in major units.
            subtotalAmount:
              type: number
              description: Subtotal in major units.
            subtotalAmountExcludingTax:
              type: number
              description: Subtotal excluding tax in major units.
            taxes:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Tax amount in major units.
                  inclusive:
                    type: boolean
                    description: Whether tax is included in the price.
                  rate:
                    type: number
                    description: Tax rate as a decimal.
                  taxableAmount:
                    type: number
                    description: Amount subject to tax in major units.
                required:
                  - amount
                  - inclusive
                  - rate
                  - taxableAmount
                additionalProperties: false
              description: Tax breakdown.
            totalAmount:
              type: number
              description: Total in major units.
            totalExcludingTaxAmount:
              type: number
              description: Total excluding tax in major units.
          required:
            - currencyCode
            - grossAmount
            - postPaymentAmount
            - prePaymentAmount
            - subtotalAmount
            - subtotalAmountExcludingTax
            - taxes
            - totalAmount
            - totalExcludingTaxAmount
          additionalProperties: false
          description: Amounts in the base currency.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the credit note was created.
        creditAmount:
          description: Amount credited to customer balance in major units.
          type: number
        currencyCode:
          type: string
          description: ISO currency code (from base or alt currency).
        customer:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: ID of the company or membership.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            title:
              description: Company name.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or a user.
            user:
              description: User details for membership customers.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: User ID.
                name:
                  description: First name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: Last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer associated with this credit note.
        effectiveDate:
          description: Effective date in YYYY-MM-DD format.
          type: string
        grossAmount:
          type: number
          deprecated: true
          description: Deprecated.
        id:
          type: string
          format: uuid
          description: Unique identifier of the credit note.
        internalNote:
          description: Internal memo (visible to admins only).
          type: string
        invoiceRef:
          type: string
          format: uuid
          description: ID of the invoice being credited.
        lines:
          type: array
          items:
            type: object
            properties:
              baseAmounts:
                type: object
                properties:
                  currencyCode:
                    type: string
                    description: ISO currency code.
                  discountedAmount:
                    type: number
                    description: Discount deduction in major units.
                  tax:
                    description: Tax details.
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Tax amount in major units.
                      inclusive:
                        type: boolean
                        description: Whether tax is included in the price.
                      rate:
                        type: number
                        description: Tax rate as a decimal.
                      taxableAmount:
                        type: number
                        description: Amount subject to tax in major units.
                    required:
                      - amount
                      - inclusive
                      - rate
                      - taxableAmount
                    additionalProperties: false
                  totalAmount:
                    type: number
                    description: Total in major units.
                  totalExcludingTaxAmount:
                    type: number
                    description: Total excluding tax in major units.
                  unitAmount:
                    description: Unit price in major units.
                    type: number
                  unitExcludingTaxAmount:
                    description: Unit price excluding tax in major units.
                    type: number
                required:
                  - currencyCode
                  - discountedAmount
                  - totalAmount
                  - totalExcludingTaxAmount
                additionalProperties: false
                description: Amounts in the base currency.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of line item creation.
              currencyCode:
                type: string
                description: ISO currency code.
              discountedAmount:
                type: number
                description: Discount deduction in major units.
              discounts:
                description: Applied discounts.
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed discount amount in major units.
                          type: number
                        currencyCode:
                          description: Currency code for amountOff.
                          type: string
                        duration:
                          description: Discount duration type.
                          type: string
                        durationInMonths:
                          description: Number of months the discount applies.
                          type: number
                        id:
                          description: Coupon ID.
                          type: string
                          format: uuid
                        percentOff:
                          description: Percentage discount.
                          type: number
                        type:
                          description: Coupon type.
                          type: string
                      additionalProperties: false
                      description: Coupon applied.
                    promocode:
                      description: Promocode applied.
                      type: object
                      properties:
                        code:
                          type: string
                        expiration:
                          type: string
                          format: date-time
                        id:
                          type: string
                          format: uuid
                        limitByFirstPurchase:
                          type: boolean
                      required:
                        - code
                        - id
                      additionalProperties: false
                    subscriptionId:
                      description: Associated subscription ID.
                      type: string
                      format: uuid
                  required:
                    - coupon
                  additionalProperties: false
              id:
                type: string
                format: uuid
                description: Unique identifier of the line item.
              invoiceItemRef:
                type: string
                format: uuid
                description: ID of the original invoice item.
              invoiceRef:
                type: string
                format: uuid
                description: ID of the invoice.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              quantity:
                description: Quantity refunded.
                type: number
              tax:
                description: Tax details.
                type: object
                properties:
                  amount:
                    type: number
                    description: Tax amount in major units.
                  inclusive:
                    type: boolean
                    description: Whether tax is included in the price.
                  rate:
                    type: number
                    description: Tax rate as a decimal.
                  taxableAmount:
                    type: number
                    description: Amount subject to tax in major units.
                required:
                  - amount
                  - inclusive
                  - rate
                  - taxableAmount
                additionalProperties: false
              totalAmount:
                type: number
                description: Total in major units.
              totalExcludingTaxAmount:
                type: number
                description: Total excluding tax in major units.
              unitAmount:
                description: Unit price in major units.
                type: number
              unitExcludingTaxAmount:
                description: Unit price excluding tax in major units.
                type: number
              updateDate:
                type: string
                format: date-time
                description: ISO timestamp of last update.
            required:
              - baseAmounts
              - createDate
              - currencyCode
              - discountedAmount
              - id
              - invoiceItemRef
              - invoiceRef
              - locationRef
              - networkRef
              - totalAmount
              - totalExcludingTaxAmount
              - updateDate
            additionalProperties: false
          description: Credit note line items.
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location).
        networkRef:
          type: string
          format: uuid
          description: ID of the network.
        number:
          description: Credit note number.
          type: number
        outOfBandAmount:
          description: Out-of-band refund amount in major units.
          type: number
        pdfUrl:
          type: string
          description: URL to download the credit note PDF. The link is replaced by a new one 180 days after the credit note was created and every 180 days after that; the one it replaced keeps working for 10 more days and then stops. Fetch the credit note again for the current link.
        postPaymentAmount:
          type: number
          description: Post-payment credit amount in major units.
        prePaymentAmount:
          type: number
          description: Pre-payment credit amount in major units.
        reason:
          type: string
          enum:
            - duplicate
            - orderChange
            - productUnsatisfactory
            - fraudulent
            - other
          description: Reason for the credit note.
        refunds:
          description: Refunds associated with this credit note.
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Refund amount in major units.
              currencyCode:
                type: string
                description: ISO currency code.
              id:
                type: string
                format: uuid
                description: Unique identifier of the refund.
              method:
                description: Refund payment method.
                type: object
                properties:
                  label:
                    description: Payment method label.
                    type: string
                  type:
                    type: string
                    enum:
                      - external
                      - paymentGateway
                    description: Payment method type.
                required:
                  - type
                additionalProperties: false
              transactionRef:
                type: string
                format: uuid
                description: ID of the transaction being refunded.
            required:
              - amount
              - currencyCode
              - id
              - transactionRef
            additionalProperties: false
        status:
          type: string
          enum:
            - issued
            - voided
          description: Credit note status.
        subtotalAmount:
          type: number
          description: Subtotal in major units.
        subtotalAmountExcludingTax:
          type: number
          description: Subtotal excluding tax in major units.
        taxes:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Tax amount in major units.
              inclusive:
                type: boolean
                description: Whether tax is included in the price.
              rate:
                type: number
                description: Tax rate as a decimal.
              taxableAmount:
                type: number
                description: Amount subject to tax in major units.
            required:
              - amount
              - inclusive
              - rate
              - taxableAmount
            additionalProperties: false
          description: Tax breakdown.
        title:
          type: string
          description: Credit note title.
        totalAmount:
          type: number
          description: Total in major units.
        totalExcludingTaxAmount:
          type: number
          description: Total excluding tax in major units.
        type:
          type: string
          enum:
            - prePayment
            - postPayment
            - mixed
          description: Credit note type.
        updateDate:
          type: string
          format: date-time
          description: ISO timestamp of last update.
        voidDate:
          description: ISO timestamp of when the credit note was voided.
          type: string
          format: date-time
      required:
        - baseAmounts
        - createDate
        - currencyCode
        - customer
        - grossAmount
        - id
        - invoiceRef
        - lines
        - locationRef
        - networkRef
        - pdfUrl
        - postPaymentAmount
        - prePaymentAmount
        - reason
        - status
        - subtotalAmount
        - subtotalAmountExcludingTax
        - taxes
        - title
        - totalAmount
        - totalExcludingTaxAmount
        - type
        - updateDate
    getCheckIns:
      type: object
      properties:
        checkIns:
          type: array
          items:
            type: object
            properties:
              booking:
                description: Booking this check-in was created for, if any.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the booking.
                required:
                  - id
                additionalProperties: false
              checkInDate:
                description: ISO timestamp of when the user checked in.
                type: string
                format: date-time
              checkInScheduleRef:
                description: ID of the schedule this check-in was opened under. Absent on check-ins created before schedules were introduced.
                type: string
                format: uuid
              checkOutDate:
                description: ISO timestamp of when the user checked out.
                type: string
                format: date-time
              code:
                description: Confirmation code of the check-in.
                type: string
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the check-in was created.
              endDate:
                description: ISO timestamp of when the check-in expires. Absent when it was opened under a schedule without an end date, or with a personal code.
                type: string
                format: date-time
              eventTicket:
                description: Event ticket this check-in was created for, if any.
                type: object
                properties:
                  eventRef:
                    type: string
                    format: uuid
                    description: ID of the event.
                  id:
                    type: string
                    format: uuid
                    description: ID of the event ticket.
                required:
                  - eventRef
                  - id
                additionalProperties: false
              id:
                type: string
                format: uuid
                description: Unique identifier of the check-in.
              networkRef:
                type: string
                format: uuid
                description: ID of the network this check-in belongs to.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this check-in belongs to.
              status:
                type: string
                enum:
                  - checkedIn
                  - checkedOut
                  - scheduled
                  - expired
                description: Status of the check-in.
              startDate:
                type: string
                format: date-time
                description: ISO timestamp of when the check-in starts.
              type:
                type: string
                enum:
                  - deskBooking
                  - roomBooking
                  - eventTicket
                  - visit
                  - subscription
                description: What the check-in was created for.
              user:
                description: The user this check-in is for, read from the users service so the details are current.
                type: object
                properties:
                  email:
                    description: Email address of the user.
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: First name of the user.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: Phone number of the user.
                    nullable: true
                    type: string
                  photoUrl:
                    description: User profile photo URL.
                    nullable: true
                    type: string
                  surname:
                    description: Surname of the user.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              visit:
                description: Visit this check-in was created for, if any.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the visit.
                  userHost:
                    description: The host the visit is with, read from the users service so the details are current.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the host.
                      name:
                        description: First name of the host.
                        nullable: true
                        type: string
                      surname:
                        description: Surname of the host.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                additionalProperties: false
            required:
              - createDate
              - id
              - networkRef
              - locationRef
              - status
              - startDate
              - type
            additionalProperties: false
          description: List of check-ins.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - checkIns
      additionalProperties: false
    getCheckIn:
      type: object
      properties:
        checkIn:
          type: object
          properties:
            booking:
              description: Booking this check-in was created for, if any.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the booking.
              required:
                - id
              additionalProperties: false
            checkInDate:
              description: ISO timestamp of when the user checked in.
              type: string
              format: date-time
            checkInScheduleRef:
              description: ID of the schedule this check-in was opened under. Absent on check-ins created before schedules were introduced.
              type: string
              format: uuid
            checkOutDate:
              description: ISO timestamp of when the user checked out.
              type: string
              format: date-time
            code:
              description: Confirmation code of the check-in.
              type: string
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the check-in was created.
            endDate:
              description: ISO timestamp of when the check-in expires. Absent when it was opened under a schedule without an end date, or with a personal code.
              type: string
              format: date-time
            eventTicket:
              description: Event ticket this check-in was created for, if any.
              type: object
              properties:
                eventRef:
                  type: string
                  format: uuid
                  description: ID of the event.
                id:
                  type: string
                  format: uuid
                  description: ID of the event ticket.
              required:
                - eventRef
                - id
              additionalProperties: false
            id:
              type: string
              format: uuid
              description: Unique identifier of the check-in.
            networkRef:
              type: string
              format: uuid
              description: ID of the network this check-in belongs to.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this check-in belongs to.
            status:
              type: string
              enum:
                - checkedIn
                - checkedOut
                - scheduled
                - expired
              description: Status of the check-in.
            startDate:
              type: string
              format: date-time
              description: ISO timestamp of when the check-in starts.
            type:
              type: string
              enum:
                - deskBooking
                - roomBooking
                - eventTicket
                - visit
                - subscription
              description: What the check-in was created for.
            user:
              description: The user this check-in is for, read from the users service so the details are current.
              type: object
              properties:
                email:
                  description: Email address of the user.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number of the user.
                  nullable: true
                  type: string
                photoUrl:
                  description: User profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: Surname of the user.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            visit:
              description: Visit this check-in was created for, if any.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the visit.
                userHost:
                  description: The host the visit is with, read from the users service so the details are current.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the host.
                    name:
                      description: First name of the host.
                      nullable: true
                      type: string
                    surname:
                      description: Surname of the host.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
              additionalProperties: false
          required:
            - createDate
            - id
            - networkRef
            - locationRef
            - status
            - startDate
            - type
          additionalProperties: false
          description: The check-in.
      required:
        - checkIn
      additionalProperties: false
    dateSchema:
      format: date-time
      type: string
      description: The date and time in ISO 8601 format, e.g. 2021-05-21T10:00:00Z
    metadata:
      type: object
      description: Use to attach key-value data to the object. Available only for admins.
    company:
      type: object
      properties:
        billingAddress:
          type: string
        businessAddress:
          type: object
          properties:
            city:
              type: string
            countryCode:
              type: string
            line1:
              type: string
            line2:
              type: string
            postalCode:
              type: string
            state:
              type: string
        createDate:
          $ref: '#/components/schemas/dateSchema'
        credits:
          type: object
          properties:
            expiring:
              type: number
            permanent:
              type: number
        dayPasses:
          type: object
          properties:
            expiring:
              type: number
        deleteDate:
          $ref: '#/components/schemas/dateSchema'
        id:
          type: string
        legalName:
          type: string
        locationRef:
          format: uuid
          type: string
        logo:
          type: object
          description: Logo of the company. Left out when the company has none.
          properties:
            key:
              type: string
              description: Storage key of the logo file.
            url:
              type: string
              description: Public URL of the logo file.
        metadata:
          $ref: '#/components/schemas/metadata'
        notes:
          type: string
        subscriptionRef:
          format: uuid
          type: string
        taxId:
          type: string
        title:
          type: string
    createCompanyMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the logo file. Pass it as logo.key when creating or updating a company.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
              description: MIME type of the image file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the image file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a company. attached: a company references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
            url:
              type: string
              description: Public URL of the logo file once it is uploaded, the same URL the company returns as logo.url.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
            - url
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    user:
      type: object
      properties:
        about:
          type: string
        email:
          type: string
        id:
          format: uuid
          type: string
        name:
          type: string
        phoneNumber:
          type: string
        photoUrl:
          type: string
        surname:
          type: string
    membership:
      type: object
      properties:
        businessAddress:
          type: object
          properties:
            city:
              type: string
            countryCode:
              type: string
            line1:
              type: string
            line2:
              type: string
            postalCode:
              type: string
            state:
              type: string
        companyRef:
          format: uuid
          type: string
        companyRole:
          type: string
          enum:
            - manager
            - member
        createDate:
          $ref: '#/components/schemas/dateSchema'
        credits:
          type: object
          properties:
            expiring:
              type: number
            permanent:
              type: number
        dayPasses:
          type: object
          properties:
            expiring:
              type: number
        deleteDate:
          $ref: '#/components/schemas/dateSchema'
        id:
          format: uuid
          type: string
        invitationDate:
          $ref: '#/components/schemas/dateSchema'
        legalName:
          type: string
        locationRef:
          type: string
        metadata:
          $ref: '#/components/schemas/metadata'
        notes:
          type: string
        role:
          type: string
          description: Whether the user administers the membership's location. It's read-only, as administrators are managed on the Administrators page.
          enum:
            - member
            - admin
        status:
          type: string
          enum:
            - requested
            - approved
        subscriptionRef:
          format: uuid
          type: string
        taxId:
          type: string
        type:
          type: string
          enum:
            - member
            - nonmember
        user:
          $ref: '#/components/schemas/user'
        userRef:
          format: uuid
          type: string
    getContracts:
      type: object
      properties:
        contracts:
          type: array
          items:
            type: object
            properties:
              action:
                type: string
                enum:
                  - subscription
                  - invoice
                  - none
                description: Billing action associated with the contract.
              actionable:
                type: boolean
                description: Whether the contract triggers a billing action when signed.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the contract was created.
              customer:
                type: object
                properties:
                  company:
                    description: Company details, present when the customer is a company.
                    type: object
                    properties:
                      logo:
                        description: Company logo file.
                        type: object
                        properties:
                          key:
                            type: string
                          url:
                            type: string
                        required:
                          - key
                          - url
                        additionalProperties: false
                      publicLogoUrl:
                        description: Public logo URL from logo.dev.
                        type: string
                      title:
                        type: string
                        description: Company name.
                    required:
                      - title
                    additionalProperties: false
                  id:
                    type: string
                    format: uuid
                    description: Customer ID.
                  user:
                    description: User details, present when the customer is a membership.
                    type: object
                    properties:
                      about:
                        description: User bio.
                        nullable: true
                        type: string
                      email:
                        description: User email address.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User ID.
                      name:
                        description: First name.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL.
                        nullable: true
                        type: string
                      surname:
                        description: Last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                additionalProperties: false
                description: Customer associated with the contract.
              customerRef:
                type: string
                format: uuid
                description: ID of the customer (membership or company).
              endDate:
                description: Contract end date.
                type: string
                format: date-time
              expirationDate:
                type: string
                format: date-time
                description: Date after which the contract can no longer be signed.
              id:
                type: string
                format: uuid
                description: Unique identifier of the contract.
              issueDate:
                description: Date the contract was issued.
                type: string
                format: date-time
              items:
                description: Line items included in this contract.
                type: array
                items:
                  type: object
                  properties:
                    couponRef:
                      description: Applied coupon ID.
                      type: string
                      format: uuid
                    entire:
                      description: Whether the item covers the entire plan.
                      type: boolean
                    optionRef:
                      description: Shop product option ID.
                      type: string
                      format: uuid
                    period:
                      description: Billing period (e.g. month, year).
                      type: string
                    planRef:
                      description: Membership plan ID.
                      type: string
                      format: uuid
                    price:
                      description: Item price override.
                      type: number
                    productRef:
                      description: Shop product ID.
                      type: string
                      format: uuid
                    quantity:
                      type: number
                      description: Number of units.
                    resourceRef:
                      description: Resource ID.
                      type: string
                      format: uuid
                    tierRef:
                      description: Plan tier ID.
                      type: string
                      format: uuid
                    title:
                      type: string
                      description: Display name of the item.
                    type:
                      type: string
                      enum:
                        - plan
                        - resource
                        - oneOff
                      description: Item type.
                  required:
                    - quantity
                    - title
                    - type
                  additionalProperties: false
              locationRef:
                type: string
                format: uuid
                description: ID of the location this contract belongs to.
              signatureMethod:
                description: How the contract will be signed.
                type: string
                enum:
                  - eSignature
                  - manual
              signedDocument:
                description: Signed document file, present after the contract is signed.
                type: object
                properties:
                  key:
                    type: string
                  url:
                    type: string
                required:
                  - key
                  - url
                additionalProperties: false
              signers:
                type: array
                items:
                  type: object
                  properties:
                    declinedDate:
                      description: Date this signer declined.
                      type: string
                      format: date-time
                    email:
                      type: string
                      description: Signer email address.
                    id:
                      type: string
                      format: uuid
                      description: Signer ID.
                    name:
                      type: string
                      description: Signer first name.
                    order:
                      description: Signing order index.
                      type: number
                    phoneNumber:
                      description: Phone number.
                      type: string
                    photoUrl:
                      description: Profile photo URL, present when the signer is a user of the contract location.
                      type: string
                    signedDate:
                      description: Date this signer signed.
                      type: string
                      format: date-time
                    status:
                      description: Current signer status.
                      type: string
                    surname:
                      description: Signer last name.
                      type: string
                    type:
                      type: string
                      enum:
                        - location
                        - customer
                      description: Whether this is a location or customer signer.
                  required:
                    - email
                    - id
                    - name
                    - type
                  additionalProperties: false
                description: People required to sign this contract.
              startDate:
                description: Contract start date.
                type: string
                format: date-time
              status:
                type: string
                enum:
                  - draft
                  - issued
                  - signed
                  - declined
                  - terminated
                description: Current contract status.
              templateRef:
                type: string
                format: uuid
                description: ID of the template used to generate this contract.
              terminationDate:
                description: Date the contract was terminated.
                type: string
                format: date-time
              terminationReason:
                description: Reason for termination.
                type: string
              timezoneId:
                type: string
                description: IANA timezone of the contract location (e.g. `Europe/London`). Used to interpret startDate, endDate, and expirationDate in local time.
              title:
                type: string
                description: Contract title.
              unsignedDocument:
                description: Unsigned document file, present after the contract is issued.
                type: object
                properties:
                  key:
                    type: string
                  url:
                    type: string
                required:
                  - key
                  - url
                additionalProperties: false
            required:
              - action
              - actionable
              - createDate
              - customer
              - customerRef
              - expirationDate
              - id
              - locationRef
              - signers
              - status
              - templateRef
              - timezoneId
              - title
            additionalProperties: false
          description: List of contracts.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - contracts
      additionalProperties: false
    getContract:
      type: object
      properties:
        contract:
          type: object
          properties:
            action:
              type: string
              enum:
                - subscription
                - invoice
                - none
              description: Billing action associated with the contract.
            actionable:
              type: boolean
              description: Whether the contract triggers a billing action when signed.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the contract was created.
            customer:
              type: object
              properties:
                company:
                  description: Company details, present when the customer is a company.
                  type: object
                  properties:
                    logo:
                      description: Company logo file.
                      type: object
                      properties:
                        key:
                          type: string
                        url:
                          type: string
                      required:
                        - key
                        - url
                      additionalProperties: false
                    publicLogoUrl:
                      description: Public logo URL from logo.dev.
                      type: string
                    title:
                      type: string
                      description: Company name.
                  required:
                    - title
                  additionalProperties: false
                id:
                  type: string
                  format: uuid
                  description: Customer ID.
                user:
                  description: User details, present when the customer is a membership.
                  type: object
                  properties:
                    about:
                      description: User bio.
                      nullable: true
                      type: string
                    email:
                      description: User email address.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: User ID.
                    name:
                      description: First name.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number.
                      nullable: true
                      type: string
                    photoUrl:
                      description: Profile photo URL.
                      nullable: true
                      type: string
                    surname:
                      description: Last name.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
              additionalProperties: false
              description: Customer associated with the contract.
            customerRef:
              type: string
              format: uuid
              description: ID of the customer (membership or company).
            endDate:
              description: Contract end date.
              type: string
              format: date-time
            expirationDate:
              type: string
              format: date-time
              description: Date after which the contract can no longer be signed.
            id:
              type: string
              format: uuid
              description: Unique identifier of the contract.
            issueDate:
              description: Date the contract was issued.
              type: string
              format: date-time
            items:
              description: Line items included in this contract.
              type: array
              items:
                type: object
                properties:
                  couponRef:
                    description: Applied coupon ID.
                    type: string
                    format: uuid
                  entire:
                    description: Whether the item covers the entire plan.
                    type: boolean
                  optionRef:
                    description: Shop product option ID.
                    type: string
                    format: uuid
                  period:
                    description: Billing period (e.g. month, year).
                    type: string
                  planRef:
                    description: Membership plan ID.
                    type: string
                    format: uuid
                  price:
                    description: Item price override.
                    type: number
                  productRef:
                    description: Shop product ID.
                    type: string
                    format: uuid
                  quantity:
                    type: number
                    description: Number of units.
                  resourceRef:
                    description: Resource ID.
                    type: string
                    format: uuid
                  tierRef:
                    description: Plan tier ID.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Display name of the item.
                  type:
                    type: string
                    enum:
                      - plan
                      - resource
                      - oneOff
                    description: Item type.
                required:
                  - quantity
                  - title
                  - type
                additionalProperties: false
            locationRef:
              type: string
              format: uuid
              description: ID of the location this contract belongs to.
            signatureMethod:
              description: How the contract will be signed.
              type: string
              enum:
                - eSignature
                - manual
            signedDocument:
              description: Signed document file, present after the contract is signed.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            signers:
              type: array
              items:
                type: object
                properties:
                  declinedDate:
                    description: Date this signer declined.
                    type: string
                    format: date-time
                  email:
                    type: string
                    description: Signer email address.
                  id:
                    type: string
                    format: uuid
                    description: Signer ID.
                  name:
                    type: string
                    description: Signer first name.
                  order:
                    description: Signing order index.
                    type: number
                  phoneNumber:
                    description: Phone number.
                    type: string
                  photoUrl:
                    description: Profile photo URL, present when the signer is a user of the contract location.
                    type: string
                  signedDate:
                    description: Date this signer signed.
                    type: string
                    format: date-time
                  status:
                    description: Current signer status.
                    type: string
                  surname:
                    description: Signer last name.
                    type: string
                  type:
                    type: string
                    enum:
                      - location
                      - customer
                    description: Whether this is a location or customer signer.
                required:
                  - email
                  - id
                  - name
                  - type
                additionalProperties: false
              description: People required to sign this contract.
            startDate:
              description: Contract start date.
              type: string
              format: date-time
            status:
              type: string
              enum:
                - draft
                - issued
                - signed
                - declined
                - terminated
              description: Current contract status.
            templateRef:
              type: string
              format: uuid
              description: ID of the template used to generate this contract.
            terminationDate:
              description: Date the contract was terminated.
              type: string
              format: date-time
            terminationReason:
              description: Reason for termination.
              type: string
            timezoneId:
              type: string
              description: IANA timezone of the contract location (e.g. `Europe/London`). Used to interpret startDate, endDate, and expirationDate in local time.
            title:
              type: string
              description: Contract title.
            unsignedDocument:
              description: Unsigned document file, present after the contract is issued.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
          required:
            - action
            - actionable
            - createDate
            - customer
            - customerRef
            - expirationDate
            - id
            - locationRef
            - signers
            - status
            - templateRef
            - timezoneId
            - title
          additionalProperties: false
          description: The contract.
      required:
        - contract
      additionalProperties: false
    getTemplates:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
        templates:
          type: array
          items:
            type: object
            properties:
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the template was created.
              file:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the template file.
                  url:
                    type: string
                    description: Download URL of the template file.
                required:
                  - key
                  - url
                additionalProperties: false
                description: Template file reference.
              id:
                type: string
                format: uuid
                description: Unique identifier of the template.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this template belongs to.
              media:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                description: Media files associated with the template.
              title:
                type: string
                description: Template title.
              updateDate:
                type: string
                format: date-time
                description: ISO timestamp of when the template was last updated.
            required:
              - createDate
              - file
              - id
              - locationRef
              - media
              - title
              - updateDate
            additionalProperties: false
          description: List of templates.
      required:
        - templates
      additionalProperties: false
    getTemplate:
      type: object
      properties:
        template:
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the template was created.
            file:
              type: object
              properties:
                key:
                  type: string
                  description: Storage key of the template file.
                url:
                  type: string
                  description: Download URL of the template file.
              required:
                - key
                - url
              additionalProperties: false
              description: Template file reference.
            id:
              type: string
              format: uuid
              description: Unique identifier of the template.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this template belongs to.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  url:
                    type: string
                required:
                  - key
                  - url
                additionalProperties: false
              description: Media files associated with the template.
            title:
              type: string
              description: Template title.
            updateDate:
              type: string
              format: date-time
              description: ISO timestamp of when the template was last updated.
          required:
            - createDate
            - file
            - id
            - locationRef
            - media
            - title
            - updateDate
          additionalProperties: false
          description: The template.
      required:
        - template
      additionalProperties: false
    createTemplateMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the template file. Pass it as template.file.key when creating or updating a template.
            mimeType:
              type: string
              enum:
                - application/vnd.openxmlformats-officedocument.wordprocessingml.document
              description: MIME type of the template file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the template file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached. attached: the file is in use.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
            url:
              type: string
              description: Public URL of the template file once it is uploaded.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
            - url
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    coupon:
      type: object
      properties:
        amountOff:
          description: Fixed discount amount.
          nullable: true
          type: number
        createDate:
          description: ISO timestamp of when the coupon was created.
          type: string
          format: date-time
        currencyCode:
          description: Currency code for amountOff.
          nullable: true
          type: string
        deleteDate:
          description: ISO timestamp of when the coupon was deleted.
          type: string
          format: date-time
        duration:
          description: How long the coupon discount applies.
          nullable: true
          type: string
          enum:
            - forever
            - once
            - repeating
        durationInMonths:
          description: Duration in months when duration is repeating.
          nullable: true
          type: number
        enabledForCredits:
          description: Whether the coupon applies to credit purchases.
          nullable: true
          type: boolean
        id:
          type: string
          format: uuid
          description: Unique identifier of the coupon.
        limitedItems:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether item-level limits are enabled.
            values:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the limited item.
                  title:
                    description: Display name of the limited item.
                    type: string
                  type:
                    type: string
                    enum:
                      - roomBookings
                      - eventSpaceBookings
                      - conferenceRoomBookings
                      - meetingRoomBookings
                      - phoneBoothBookings
                      - stationBookings
                      - studioBookings
                      - hotDeskBookings
                      - dedicatedDeskBookings
                      - officeBookings
                      - parkingBookings
                      - equipmentBookings
                      - eventTickets
                      - shopProducts
                      - packages
                      - subscriptionItems
                    description: Product type of the limited item.
                required:
                  - id
                  - type
                additionalProperties: false
                description: Product or package the coupon is limited to.
              description: Items the coupon applies to when limits are enabled.
          required:
            - enabled
            - values
          additionalProperties: false
          description: Item-level redemption limits.
        limitedRedemption:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether redemption limits are enabled.
            usage:
              type: number
              description: Current redemption count.
            value:
              type: number
              description: Maximum redemption count.
          required:
            - enabled
            - usage
            - value
          additionalProperties: false
          description: Redemption limits for the coupon.
        locationRef:
          description: ID of the location this coupon belongs to.
          type: string
          format: uuid
        networkRef:
          description: ID of the network this coupon belongs to.
          type: string
          format: uuid
        percentOff:
          description: Percentage discount amount.
          nullable: true
          type: number
        productTypes:
          type: array
          items:
            type: string
            enum:
              - roomBookings
              - eventSpaceBookings
              - conferenceRoomBookings
              - meetingRoomBookings
              - phoneBoothBookings
              - stationBookings
              - studioBookings
              - hotDeskBookings
              - dedicatedDeskBookings
              - officeBookings
              - parkingBookings
              - equipmentBookings
              - eventTickets
              - shopProducts
              - packages
              - subscriptionItems
          description: Product types the coupon applies to.
        type:
          description: Deprecated coupon category.
          type: string
          enum:
            - creditPackages
            - desks
            - equipment
            - events
            - products
            - rooms
            - subscriptionItems
      required:
        - id
        - limitedItems
        - limitedRedemption
        - productTypes
      additionalProperties: false
    promocode:
      type: object
      properties:
        archiveDate:
          description: ISO timestamp of when the promocode was archived.
          type: string
          format: date-time
        code:
          type: string
          description: Promocode string.
        couponRef:
          type: string
          format: uuid
          description: ID of the coupon this promocode applies to.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the promocode was created.
        expiration:
          type: object
          properties:
            date:
              description: ISO timestamp when the promocode expires.
              type: string
              format: date-time
            enabled:
              type: boolean
              description: Whether the promocode has an expiration date.
          required:
            - enabled
          additionalProperties: false
          description: Promocode expiration settings.
        id:
          type: string
          format: uuid
          description: Unique identifier of the promocode.
        limitByFirstPurchase:
          type: boolean
          description: Whether the promocode is limited to first-time purchases.
        limitedRedemption:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether redemption limits are enabled.
            usage:
              type: number
              description: Current redemption count.
            value:
              type: number
              description: Maximum redemption count.
          required:
            - enabled
            - usage
            - value
          additionalProperties: false
          description: Redemption limits for the promocode.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this promocode belongs to.
        networkRef:
          type: string
          format: uuid
          description: ID of the network this promocode belongs to.
      required:
        - code
        - couponRef
        - createDate
        - expiration
        - id
        - limitByFirstPurchase
        - limitedRedemption
        - locationRef
        - networkRef
      additionalProperties: false
    discountRedemption:
      type: object
      properties:
        coupon:
          type: object
          properties:
            amountOff:
              description: Fixed discount amount.
              nullable: true
              type: number
            currencyCode:
              description: Currency code for amountOff.
              nullable: true
              type: string
            enabledForCredits:
              description: Whether the coupon applies to credit purchases.
              nullable: true
              type: boolean
            id:
              type: string
              format: uuid
              description: Unique identifier of the coupon.
            limitedItems:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether item-level limits are enabled.
                values:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the limited item.
                      title:
                        description: Display name of the limited item.
                        type: string
                      type:
                        type: string
                        enum:
                          - roomBookings
                          - eventSpaceBookings
                          - conferenceRoomBookings
                          - meetingRoomBookings
                          - phoneBoothBookings
                          - stationBookings
                          - studioBookings
                          - hotDeskBookings
                          - dedicatedDeskBookings
                          - officeBookings
                          - parkingBookings
                          - equipmentBookings
                          - eventTickets
                          - shopProducts
                          - packages
                          - subscriptionItems
                        description: Product type of the limited item.
                    required:
                      - id
                      - type
                    additionalProperties: false
                    description: Product or package the coupon is limited to.
                  description: Items the coupon applies to when limits are enabled.
              required:
                - enabled
                - values
              additionalProperties: false
              description: Item-level redemption limits.
            limitedRedemption:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether redemption limits are enabled.
                usage:
                  type: number
                  description: Current redemption count.
                value:
                  type: number
                  description: Maximum redemption count.
              required:
                - enabled
                - usage
                - value
              additionalProperties: false
              description: Redemption limits for the coupon.
            percentOff:
              description: Percentage discount amount.
              nullable: true
              type: number
            productTypes:
              description: Product types the coupon applies to.
              type: array
              items:
                type: string
                enum:
                  - roomBookings
                  - eventSpaceBookings
                  - conferenceRoomBookings
                  - meetingRoomBookings
                  - phoneBoothBookings
                  - stationBookings
                  - studioBookings
                  - hotDeskBookings
                  - dedicatedDeskBookings
                  - officeBookings
                  - parkingBookings
                  - equipmentBookings
                  - eventTickets
                  - shopProducts
                  - packages
                  - subscriptionItems
            type:
              description: Deprecated coupon category.
              type: string
              enum:
                - creditPackages
                - desks
                - equipment
                - events
                - products
                - rooms
                - subscriptionItems
          required:
            - id
            - limitedItems
            - limitedRedemption
          additionalProperties: false
          description: Coupon that was redeemed.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the redemption was created.
        customer:
          type: object
          properties:
            id:
              type: string
              description: ID of the customer membership or company.
            title:
              description: Display name of the customer.
              nullable: true
              type: string
            type:
              type: string
              enum:
                - user
                - company
              description: Whether the customer is a user or company.
            user:
              description: User details when the customer is a member.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  type: string
                  description: First name of the user.
                photoUrl:
                  nullable: true
                  description: Profile photo URL.
                  type: string
                surname:
                  type: string
                  description: Surname of the user.
              required:
                - id
                - name
                - photoUrl
                - surname
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer who redeemed the discount.
        locationRef:
          type: string
          format: uuid
          description: ID of the location where the redemption occurred.
        networkRef:
          type: string
          format: uuid
          description: ID of the network where the redemption occurred.
        product:
          type: object
          properties:
            bookingRef:
              description: ID of the related booking.
              nullable: true
              type: string
              format: uuid
            creditPackageRef:
              description: ID of the related credit package.
              nullable: true
              type: string
              format: uuid
            eventTicketRef:
              description: ID of the related event ticket.
              nullable: true
              type: string
              format: uuid
            optionRef:
              description: ID of the related shop product option.
              nullable: true
              type: string
              format: uuid
            orderRef:
              description: ID of the related shop order.
              nullable: true
              type: string
              format: uuid
            subscriptionItemRef:
              description: ID of the related subscription item.
              nullable: true
              type: string
              format: uuid
            title:
              description: Display title of the redeemed product.
              nullable: true
              type: string
            type:
              description: Type of product that was discounted.
              nullable: true
              type: string
              enum:
                - booking
                - creditPackage
                - eventTicket
                - order
                - subscriptionItem
          additionalProperties: false
          description: Product that received the discount.
        promocode:
          description: Promocode that was redeemed, when applicable.
          type: object
          properties:
            code:
              type: string
              description: Promocode string.
            expiration:
              type: object
              properties:
                date:
                  description: ISO timestamp when the promocode expires.
                  type: string
                  format: date-time
                enabled:
                  type: boolean
                  description: Whether the promocode has an expiration date.
              required:
                - enabled
              additionalProperties: false
              description: Promocode expiration settings.
            id:
              type: string
              format: uuid
              description: Unique identifier of the promocode.
            limitByFirstPurchase:
              type: boolean
              description: Whether the promocode is limited to first-time purchases.
            limitedRedemption:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether redemption limits are enabled.
                usage:
                  type: number
                  description: Current redemption count.
                value:
                  type: number
                  description: Maximum redemption count.
              required:
                - enabled
                - usage
                - value
              additionalProperties: false
              description: Redemption limits for the promocode.
          required:
            - code
            - expiration
            - id
            - limitByFirstPurchase
            - limitedRedemption
          additionalProperties: false
        promocodeRef:
          description: ID of the promocode that was redeemed.
          nullable: true
          type: string
          format: uuid
      required:
        - coupon
        - createDate
        - customer
        - locationRef
        - networkRef
        - product
      additionalProperties: false
    event:
      type: object
      properties:
        applicationType:
          description: Event application type.
          type: string
          enum:
            - purchase
            - none
        attendees:
          description: Number of current attendees (omitted when showAttendees is false).
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        cancelDate:
          description: ISO timestamp of when the event was cancelled.
          type: string
          format: date-time
        confirmationEmail:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether a confirmation email is sent to attendees.
            template:
              description: Custom confirmation email template.
              nullable: true
              type: string
          required:
            - enabled
          additionalProperties: false
          description: Confirmation email settings.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the event was created.
        customTax:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether custom tax is enabled.
            rate:
              type: number
              description: Custom tax rate in percent.
          required:
            - enabled
            - rate
          additionalProperties: false
          description: Custom tax settings.
        deleteDate:
          description: ISO timestamp of when the event was deleted.
          type: string
          format: date-time
        description:
          description: Full description of the event.
          type: string
        endDate:
          type: string
          format: date-time
          description: ISO timestamp of when the event ends.
        id:
          type: string
          format: uuid
          description: Unique identifier of the event.
        imageUrl:
          deprecated: true
          description: 'URL of the event cover image. Deprecated: use media[0].url instead.'
          type: string
          format: uri
        joined:
          description: Whether the current user has joined this event (member client only).
          type: boolean
        limitedAttendees:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether attendee count is limited.
            limit:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Maximum number of attendees when enabled.
          required:
            - enabled
            - limit
          additionalProperties: false
          description: Limited attendees settings.
        locale:
          description: Detected language locale of the event description.
          type: string
        location:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the location.
            timezoneId:
              type: string
              description: Timezone identifier of the location.
            title:
              type: string
              description: Display name of the location.
          required:
            - id
            - timezoneId
            - title
          additionalProperties: false
          description: Location where the event is hosted.
        locationRef:
          type: string
          format: uuid
          description: ID of the location where the event is hosted.
        media:
          type: array
          items:
            type: object
            properties:
              key:
                description: Storage key of the image.
                type: string
              url:
                description: Public URL of the image.
                type: string
            additionalProperties: false
          description: Media files attached to the event.
        networkRef:
          type: string
          format: uuid
          description: ID of the network this event belongs to.
        price:
          type: object
          properties:
            credits:
              type: object
              properties:
                amount:
                  type: number
                  description: Price in credits.
                amountDiscounted:
                  description: Member-visible credits price (equals list price).
                  type: number
                enabled:
                  type: boolean
                  description: Whether credits payment is enabled.
              required:
                - amount
                - enabled
              additionalProperties: false
              description: Credits pricing.
            money:
              type: object
              properties:
                amount:
                  type: number
                  description: Price in location currency.
                amountDiscounted:
                  description: Member-visible money price in location currency (equals list price).
                  type: number
                enabled:
                  type: boolean
                  description: Whether money payment is enabled.
              required:
                - amount
                - enabled
              additionalProperties: false
              description: Money pricing.
          required:
            - credits
            - money
          additionalProperties: false
          description: Pricing options for the event.
        refundThreshold:
          description: How far in advance a refund can be requested.
          type: string
          enum:
            - noRefund
            - zeroMinutes
            - fifteenMinutes
            - thirtyMinutes
            - oneHour
            - twoHours
            - fourHours
            - sixHours
            - twelveHours
            - oneDay
            - twoDays
            - oneWeek
            - twoWeeks
            - fourWeeks
        showAttendees:
          type: boolean
          description: Whether the attendees list is publicly visible.
        startDate:
          type: string
          format: date-time
          description: ISO timestamp of when the event starts.
        ticketAvailability:
          type: string
          enum:
            - soldOut
            - limited
            - available
          description: Current ticket availability status.
        title:
          type: string
          description: Display name of the event.
        venue:
          description: Venue name or address within the location.
          nullable: true
          type: string
        visibility:
          description: Who can see this event.
          type: string
          enum:
            - public
            - admins
            - networkMembers
            - members
      required:
        - confirmationEmail
        - createDate
        - customTax
        - endDate
        - id
        - limitedAttendees
        - location
        - locationRef
        - media
        - networkRef
        - price
        - showAttendees
        - startDate
        - ticketAvailability
        - title
      additionalProperties: false
    eventTicket:
      type: object
      properties:
        checkInDate:
          description: ISO timestamp of when the attendee checked in.
          type: string
          format: date-time
        checkInRef:
          description: ID of the ticket's check-in in the check-ins service. Present when check-in is enabled for the event.
          type: string
          format: uuid
        code:
          description: Six-digit code the attendee enters on the Reception app to check in. Visible to the ticket owner and admins when check-in is enabled for the event.
          type: string
        comment:
          description: Note the attendee left when purchasing the ticket. Visible to the ticket owner and location admins only.
          type: string
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the ticket was created.
        deleteDate:
          description: ISO timestamp of when the ticket was deleted.
          type: string
          format: date-time
        event:
          type: object
          properties:
            checkInEnabled:
              type: boolean
              description: Whether attendees can be checked in, per the check-in setting of the event's location.
            endDate:
              type: string
              format: date-time
              description: ISO timestamp of when the event ends.
            id:
              type: string
              format: uuid
              description: Unique identifier of the event.
            location:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the location.
                timezoneId:
                  type: string
                  description: Timezone identifier of the location.
                title:
                  type: string
                  description: Display name of the location.
              required:
                - id
                - timezoneId
                - title
              additionalProperties: false
              description: Location where the event is hosted.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    description: Storage key of the image.
                    type: string
                  url:
                    description: Public URL of the image.
                    type: string
                additionalProperties: false
              description: Media files of the event.
            startDate:
              type: string
              format: date-time
              description: ISO timestamp of when the event starts.
            title:
              type: string
              description: Display name of the event.
            venue:
              description: Venue name or address within the location.
              type: string
            visibilityType:
              description: Who can see this event.
              type: string
              enum:
                - public
                - admins
                - networkMembers
                - members
          required:
            - checkInEnabled
            - endDate
            - id
            - location
            - media
            - startDate
            - title
          additionalProperties: false
          description: Event this ticket belongs to.
        id:
          type: string
          format: uuid
          description: Unique identifier of the event ticket.
        locationRef:
          type: string
          format: uuid
          description: ID of the location where the event is hosted.
        membershipRef:
          description: ID of the membership associated with this ticket.
          type: string
          format: uuid
        payment:
          description: Payment details. Visible to ticket owner and location admins only.
          type: object
          properties:
            createDate:
              description: ISO timestamp of when the payment was created.
              type: string
              format: date-time
            discounts:
              type: array
              items:
                type: object
                properties:
                  coupon:
                    type: object
                    properties:
                      amountOff:
                        description: Fixed discount amount.
                        type: number
                      currencyCode:
                        description: Currency of the fixed discount.
                        type: string
                      id:
                        description: Coupon ID.
                        type: string
                        format: uuid
                      percentOff:
                        description: Percentage discount.
                        type: number
                      type:
                        description: Coupon type.
                        type: string
                    additionalProperties: false
                  promocode:
                    type: object
                    properties:
                      code:
                        description: Promocode string.
                        type: string
                      expiration:
                        description: Expiration date.
                        type: object
                        properties:
                          date:
                            type: string
                          enabled:
                            type: boolean
                        required:
                          - enabled
                        additionalProperties: false
                      id:
                        description: Promocode ID.
                        type: string
                        format: uuid
                      limitByFirstPurchase:
                        type: boolean
                    additionalProperties: false
                  subscriptionId:
                    description: Subscription that granted the discount.
                    type: string
                    format: uuid
                additionalProperties: false
              description: Applied discounts.
            dispute:
              description: Dispute information if applicable.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of when the dispute was created.
              required:
                - createDate
              additionalProperties: false
            invoiceItemRef:
              description: ID of the invoice item (invoice payment type only).
              type: string
              format: uuid
            method:
              type: object
              properties:
                credits:
                  description: Credits method details.
                  type: object
                  properties:
                    customer:
                      type: object
                      properties:
                        id:
                          description: ID of the company or membership.
                          type: string
                          format: uuid
                        location:
                          description: Location associated with the customer.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: ID of the location.
                            title:
                              type: string
                              description: Display name of the location.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        name:
                          description: First name (membership customer).
                          type: string
                        surname:
                          description: Last name (membership customer).
                          type: string
                        title:
                          description: Company title (company customer).
                          type: string
                        type:
                          description: Customer type.
                          type: string
                          enum:
                            - company
                            - user
                      additionalProperties: false
                  required:
                    - customer
                  additionalProperties: false
                external:
                  description: External payment method details.
                  type: object
                  properties:
                    customer:
                      type: object
                      properties:
                        id:
                          description: ID of the company or membership.
                          type: string
                          format: uuid
                        location:
                          description: Location associated with the customer.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: ID of the location.
                            title:
                              type: string
                              description: Display name of the location.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        name:
                          description: First name (membership customer).
                          type: string
                        surname:
                          description: Last name (membership customer).
                          type: string
                        title:
                          description: Company title (company customer).
                          type: string
                        type:
                          description: Customer type.
                          type: string
                          enum:
                            - company
                            - user
                      additionalProperties: false
                    location:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: ID of the location.
                        title:
                          type: string
                          description: Display name of the location.
                      required:
                        - id
                        - title
                      additionalProperties: false
                  required:
                    - customer
                    - location
                  additionalProperties: false
                invoice:
                  description: Invoice method details.
                  type: object
                  properties:
                    customer:
                      type: object
                      properties:
                        id:
                          description: ID of the company or membership.
                          type: string
                          format: uuid
                        location:
                          description: Location associated with the customer.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: ID of the location.
                            title:
                              type: string
                              description: Display name of the location.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        name:
                          description: First name (membership customer).
                          type: string
                        surname:
                          description: Last name (membership customer).
                          type: string
                        title:
                          description: Company title (company customer).
                          type: string
                        type:
                          description: Customer type.
                          type: string
                          enum:
                            - company
                            - user
                      additionalProperties: false
                  required:
                    - customer
                  additionalProperties: false
                paymentGateway:
                  description: Payment gateway method details.
                  type: object
                  properties:
                    customer:
                      type: object
                      properties:
                        id:
                          description: ID of the company or membership.
                          type: string
                          format: uuid
                        location:
                          description: Location associated with the customer.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: ID of the location.
                            title:
                              type: string
                              description: Display name of the location.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        name:
                          description: First name (membership customer).
                          type: string
                        surname:
                          description: Last name (membership customer).
                          type: string
                        title:
                          description: Company title (company customer).
                          type: string
                        type:
                          description: Customer type.
                          type: string
                          enum:
                            - company
                            - user
                      additionalProperties: false
                    label:
                      description: Human-readable label of the payment method (e.g. 'Visa 4242').
                      type: string
                    location:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: ID of the location.
                        title:
                          type: string
                          description: Display name of the location.
                      required:
                        - id
                        - title
                      additionalProperties: false
                    mask:
                      description: Masked payment method identifier.
                      type: string
                    title:
                      description: Payment gateway title.
                      type: string
                    type:
                      description: Payment gateway type identifier.
                      type: string
                  required:
                    - customer
                    - location
                  additionalProperties: false
                type:
                  type: string
                  enum:
                    - credits
                    - invoice
                    - external
                    - paymentGateway
                  description: Payment method type.
              required:
                - type
              additionalProperties: false
              description: Payment method details.
            price:
              type: object
              properties:
                credits:
                  description: Credits price breakdown.
                  type: object
                  properties:
                    expiringAmount:
                      type: number
                      description: Amount of expiring credits paid.
                    permanentAmount:
                      type: number
                      description: Amount of permanent credits paid.
                  required:
                    - expiringAmount
                    - permanentAmount
                  additionalProperties: false
                money:
                  description: Money price breakdown.
                  type: object
                  properties:
                    currencyCode:
                      type: string
                      description: ISO 4217 currency code.
                    grossAmount:
                      type: number
                      description: Gross amount paid.
                  required:
                    - currencyCode
                    - grossAmount
                  additionalProperties: false
                type:
                  type: string
                  enum:
                    - credits
                    - money
                  description: Price type.
              required:
                - type
              additionalProperties: false
              description: Amount paid.
            refund:
              description: Refund details if refunded.
              type: object
              properties:
                credits:
                  type: object
                  properties:
                    amountExpiring:
                      type: number
                    amountPermanent:
                      type: number
                    amountTotal:
                      type: number
                    createDate:
                      type: string
                      format: date-time
                  required:
                    - amountExpiring
                    - amountPermanent
                    - amountTotal
                    - createDate
                  additionalProperties: false
                money:
                  type: object
                  properties:
                    createDate:
                      type: string
                      format: date-time
                    currencyCode:
                      type: string
                    grossAmount:
                      type: number
                  required:
                    - createDate
                    - currencyCode
                    - grossAmount
                  additionalProperties: false
                transactionRef:
                  type: string
                  format: uuid
              additionalProperties: false
            refundable:
              type: boolean
              description: Whether this ticket can be refunded.
            refunds:
              description: Full list of refunds.
              type: object
              properties:
                credits:
                  type: array
                  items:
                    type: object
                    properties:
                      amountExpiring:
                        type: number
                      amountPermanent:
                        type: number
                      amountTotal:
                        type: number
                      createDate:
                        type: string
                        format: date-time
                      id:
                        type: string
                        format: uuid
                    required:
                      - amountExpiring
                      - amountPermanent
                      - amountTotal
                      - createDate
                      - id
                    additionalProperties: false
                money:
                  type: array
                  items:
                    type: object
                    properties:
                      createDate:
                        type: string
                        format: date-time
                      currencyCode:
                        type: string
                      grossAmount:
                        type: number
                      id:
                        type: string
                        format: uuid
                    required:
                      - createDate
                      - currencyCode
                      - grossAmount
                    additionalProperties: false
                type:
                  type: string
                  enum:
                    - credits
                    - money
              required:
                - type
              additionalProperties: false
            request:
              description: Pending payment request. Present when payment is pending and belongs to the current user.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                url:
                  type: string
                  description: URL to complete the pending payment.
              required:
                - id
                - url
              additionalProperties: false
            status:
              type: string
              enum:
                - succeeded
                - pending
                - processing
                - canceled
                - failed
              description: Payment status.
            surcharge:
              description: Surcharge applied to the payment.
              type: object
              properties:
                money:
                  type: object
                  properties:
                    amount:
                      type: number
                    currencyCode:
                      type: string
                    percentage:
                      type: number
                    rate:
                      type: number
                  required:
                    - amount
                    - currencyCode
                    - percentage
                    - rate
                  additionalProperties: false
                type:
                  type: string
                  enum:
                    - money
              required:
                - money
                - type
              additionalProperties: false
            transactionRef:
              description: ID of the associated transaction.
              type: string
              format: uuid
            type:
              type: string
              enum:
                - authorizenet
                - credits
                - external
                - flow
                - fondy
                - freedompay
                - hyperpay
                - invoice
                - kakaopay
                - maya
                - mercadopago
                - mollie
                - paypal
                - paystack
                - payway
                - plata
                - stripe
                - tap
                - wayforpay
                - xendit
              description: Payment type.
          required:
            - discounts
            - method
            - price
            - refundable
            - status
            - type
          additionalProperties: false
        quantity:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: Number of tickets included in this purchase.
        role:
          type: string
          enum:
            - attendee
            - host
          description: Role of the ticket holder.
        user:
          type: object
          properties:
            about:
              description: About text of the user.
              nullable: true
              type: string
            email:
              description: Email address. Visibility controlled by user settings.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: First name of the user.
              nullable: true
              type: string
            phoneNumber:
              description: Phone number. Visibility controlled by user settings.
              nullable: true
              type: string
            photoUrl:
              description: Profile photo URL.
              nullable: true
              type: string
            surname:
              description: Last name of the user.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
          description: User who owns this ticket.
      required:
        - createDate
        - event
        - id
        - locationRef
        - quantity
        - role
        - user
      additionalProperties: false
    createEventMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file. Pass it as media[0].key when creating or updating an event.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
              description: MIME type of the image file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the image file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to an event. attached: an event references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    post:
      type: object
      properties:
        comments:
          type: number
          description: Number of comments on the post.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the post was created.
        deleteDate:
          description: ISO timestamp of when the post was deleted.
          type: string
          format: date-time
        id:
          type: string
          format: uuid
          description: Unique identifier of the post.
        liked:
          description: Whether the current user has liked the post.
          type: boolean
        likes:
          type: number
          description: Number of likes on the post.
        locale:
          description: Detected language locale of the post text.
          type: string
        locationRef:
          type: string
          format: uuid
          description: ID of the location this post belongs to.
        media:
          type: array
          items:
            type: object
            properties:
              height:
                type: number
                description: Image height in pixels.
              id:
                type: string
                format: uuid
                description: Unique identifier of the media item.
              key:
                type: string
                description: Storage key of the media file.
              mime:
                type: string
                description: MIME type of the media file.
              url:
                type: string
                description: Public URL of the media file.
              width:
                type: number
                description: Image width in pixels.
            required:
              - height
              - id
              - key
              - mime
              - url
              - width
            additionalProperties: false
          description: Media files attached to the post.
        membership:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            user:
              description: User associated with the membership.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                deleteDate:
                  description: ISO timestamp of when the user was deleted.
                  type: string
                  format: date-time
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: User phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: URL of the user's profile photo.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
          additionalProperties: false
          description: Membership of the post author.
        membershipRef:
          type: string
          format: uuid
          description: ID of the membership that created the post.
        og:
          description: Open Graph metadata for link previews.
          type: object
          properties:
            description:
              description: Open Graph description.
              nullable: true
              type: string
            image:
              description: Open Graph image URL.
              nullable: true
              type: string
            title:
              description: Open Graph title.
              nullable: true
              type: string
            type:
              description: Open Graph type.
              nullable: true
              type: string
            url:
              type: string
              description: Open Graph URL.
            videoUrl:
              description: Open Graph video URL.
              nullable: true
              type: string
          required:
            - url
          additionalProperties: false
        pinned:
          type: boolean
          description: Whether the post is pinned.
        text:
          description: Post text content.
          type: string
        user:
          description: User who created the post.
          type: object
          properties:
            about:
              description: User bio.
              nullable: true
              type: string
            deleteDate:
              description: ISO timestamp of when the user was deleted.
              type: string
              format: date-time
            email:
              description: User email address.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: User first name.
              nullable: true
              type: string
            phoneNumber:
              description: User phone number.
              nullable: true
              type: string
            photoUrl:
              description: URL of the user's profile photo.
              nullable: true
              type: string
            surname:
              description: User last name.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
      required:
        - comments
        - createDate
        - id
        - likes
        - locationRef
        - media
        - membership
        - membershipRef
        - pinned
      additionalProperties: false
    postComment:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the comment was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the comment.
        liked:
          description: Whether the current user has liked the comment.
          type: boolean
        likes:
          type: number
          description: Number of likes on the comment.
        membership:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            user:
              description: User associated with the membership.
              type: object
              properties:
                deleteDate:
                  description: ISO timestamp of when the user was deleted.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                photoUrl:
                  description: URL of the user's profile photo.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
          additionalProperties: false
          description: Membership of the comment author.
        mentions:
          description: User mentions in the comment text.
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: Unique identifier of the mention.
              value:
                type: string
                description: Mention value.
            required:
              - id
              - value
            additionalProperties: false
        parentCommentRef:
          description: ID of the parent comment when this is a reply.
          type: string
          format: uuid
        postRef:
          type: string
          format: uuid
          description: ID of the post this comment belongs to.
        text:
          type: string
          description: Comment text content.
      required:
        - createDate
        - id
        - likes
        - membership
        - postRef
        - text
      additionalProperties: false
    postLike:
      type: object
      properties:
        commentRef:
          description: ID of the comment that was liked.
          type: string
          format: uuid
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the like was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the like.
        membership:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            user:
              description: User associated with the membership.
              type: object
              properties:
                deleteDate:
                  description: ISO timestamp of when the user was deleted.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                photoUrl:
                  description: URL of the user's profile photo.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
          additionalProperties: false
          description: Membership of the user who liked.
        postRef:
          type: string
          format: uuid
          description: ID of the post that was liked.
      required:
        - createDate
        - id
        - membership
        - postRef
      additionalProperties: false
    createFeedPostMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file. Pass it in media[].key when creating or updating a post.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
                - video/mp4
                - video/quicktime
                - video/webm
              description: MIME type of the media file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the media file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a post. attached: a post references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    floor:
      type: object
      additionalProperties: false
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the floor was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the floor.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this floor belongs to.
        mappings:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              format: uuid
          description: Resource IDs each mappable plan node is bookable as, keyed by the node's `nodeId`.
        plan:
          type: object
          additionalProperties: {}
          description: Parsed floor plan data.
        title:
          type: string
          description: Display name of the floor.
        visibility:
          type: string
          enum:
            - public
            - admins
            - members
            - networkMembers
          description: 'Who can see this floor: ''public'' (everyone), ''admins'', ''members'', or ''networkMembers''.'
      required:
        - createDate
        - id
        - locationRef
        - mappings
        - plan
        - title
        - visibility
    getGuides:
      type: object
      properties:
        guides:
          type: array
          items:
            type: object
            properties:
              attachments:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the file.
                    mime:
                      type: string
                      description: MIME type of the file.
                    name:
                      type: string
                      description: Display name of the file.
                    size:
                      description: File size in bytes.
                      type: number
                    url:
                      type: string
                      description: Public URL of the file.
                  required:
                    - key
                    - mime
                    - name
                    - url
                  additionalProperties: false
                description: Files attached to the guide.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the guide was created.
              description:
                description: Markdown content of the guide.
                type: string
              id:
                type: string
                format: uuid
                description: Unique identifier of the guide.
              locale:
                description: Detected language code of the guide content.
                type: string
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location) this guide belongs to.
              media:
                type: array
                items:
                  type: object
                  properties:
                    height:
                      description: Image height in pixels.
                      type: number
                    key:
                      type: string
                      description: Storage key of the image.
                    mime:
                      description: MIME type of the image.
                      type: string
                    url:
                      type: string
                      description: Public URL of the image.
                    width:
                      description: Image width in pixels.
                      type: number
                  required:
                    - key
                    - url
                  additionalProperties: false
                description: Images extracted from the guide description.
              title:
                type: string
                description: Display name of the guide.
              visibility:
                type: string
                enum:
                  - public
                  - admins
                  - members
                  - networkMembers
                description: Who can see this guide.
            required:
              - attachments
              - createDate
              - id
              - locationRef
              - media
              - title
              - visibility
            additionalProperties: false
          description: List of guides.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - guides
      additionalProperties: false
    guide:
      type: object
      properties:
        attachments:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Storage key of the file.
              mime:
                type: string
                description: MIME type of the file.
              name:
                type: string
                description: Display name of the file.
              size:
                description: File size in bytes.
                type: number
              url:
                type: string
                description: Public URL of the file.
            required:
              - key
              - mime
              - name
              - url
            additionalProperties: false
          description: Files attached to the guide.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the guide was created.
        description:
          description: Markdown content of the guide.
          type: string
        id:
          type: string
          format: uuid
          description: Unique identifier of the guide.
        locale:
          description: Detected language code of the guide content.
          type: string
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location) this guide belongs to.
        media:
          type: array
          items:
            type: object
            properties:
              height:
                description: Image height in pixels.
                type: number
              key:
                type: string
                description: Storage key of the image.
              mime:
                description: MIME type of the image.
                type: string
              url:
                type: string
                description: Public URL of the image.
              width:
                description: Image width in pixels.
                type: number
            required:
              - key
              - url
            additionalProperties: false
          description: Images extracted from the guide description.
        title:
          type: string
          description: Display name of the guide.
        visibility:
          type: string
          enum:
            - public
            - admins
            - members
            - networkMembers
          description: Who can see this guide.
      required:
        - attachments
        - createDate
        - id
        - locationRef
        - media
        - title
        - visibility
      additionalProperties: false
    getGuide:
      type: object
      properties:
        guide:
          type: object
          properties:
            attachments:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the file.
                  mime:
                    type: string
                    description: MIME type of the file.
                  name:
                    type: string
                    description: Display name of the file.
                  size:
                    description: File size in bytes.
                    type: number
                  url:
                    type: string
                    description: Public URL of the file.
                required:
                  - key
                  - mime
                  - name
                  - url
                additionalProperties: false
              description: Files attached to the guide.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the guide was created.
            description:
              description: Markdown content of the guide.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the guide.
            locale:
              description: Detected language code of the guide content.
              type: string
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location) this guide belongs to.
            media:
              type: array
              items:
                type: object
                properties:
                  height:
                    description: Image height in pixels.
                    type: number
                  key:
                    type: string
                    description: Storage key of the image.
                  mime:
                    description: MIME type of the image.
                    type: string
                  url:
                    type: string
                    description: Public URL of the image.
                  width:
                    description: Image width in pixels.
                    type: number
                required:
                  - key
                  - url
                additionalProperties: false
              description: Images extracted from the guide description.
            title:
              type: string
              description: Display name of the guide.
            visibility:
              type: string
              enum:
                - public
                - admins
                - members
                - networkMembers
              description: Who can see this guide.
          required:
            - attachments
            - createDate
            - id
            - locationRef
            - media
            - title
            - visibility
          additionalProperties: false
          description: The guide.
      required:
        - guide
      additionalProperties: false
    createGuideAttachment:
      type: object
      properties:
        attachment:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the file. Pass it in attachments[].key when creating or updating a guide.
            mimeType:
              type: string
              description: MIME type of the file.
            name:
              type: string
              description: File name shown with the guide.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the file in bytes.
            status:
              type: string
              enum:
                - pending
              description: 'Upload status. pending: the file has not been received yet; attach it once the PUT request succeeds.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Disposition:
                      type: string
                      description: Makes browsers download the file rather than open it.
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Disposition
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
            url:
              type: string
              description: Public URL the file is served from once uploaded.
          required:
            - key
            - mimeType
            - name
            - size
            - status
            - upload
            - url
          additionalProperties: false
          description: The created attachment upload.
      required:
        - attachment
      additionalProperties: false
    createGuideMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
                - video/mp4
                - video/quicktime
                - video/webm
              description: MIME type of the media file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the media file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a guide. attached: a guide references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
            url:
              type: string
              description: Public URL of the media file. Add it to the guide description as a Markdown image, ![alt text](url), when creating or updating a guide to attach the file.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
            - url
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    timezoneId:
      type: string
      description: Timezone identifier for the location (e.g. 'Europe/Kyiv')
    location:
      type: object
      properties:
        address:
          type: string
        businessAddress:
          description: Returned only to client credentials and to users with an admin role in the location.
          type: object
          properties:
            city:
              type: string
            countryCode:
              type: string
              nullable: true
            line1:
              type: string
            line2:
              type: string
            postalCode:
              type: string
            state:
              type: string
        createDate:
          $ref: '#/components/schemas/dateSchema'
        currencyCode:
          type: string
        description:
          type: string
        email:
          format: email
          type: string
        id:
          format: uuid
          type: string
        legalName:
          description: Returned only to client credentials and to users with an admin role in the location.
          type: string
        locale:
          type: string
          enum:
            - en
            - es
            - ko
            - uk
            - ru
        media:
          description: Photos and videos of the location in the order administrators arranged them, with any added since first, newest first. The first one is the location's cover.
          type: array
          items:
            type: object
            properties:
              height:
                type: integer
              key:
                type: string
                description: Storage key of the image.
              mime:
                type: string
              url:
                type: string
                description: Public URL of the image.
              width:
                type: integer
        networkRef:
          format: uuid
          type: string
        schedule:
          description: Opening hours of the location.
          type: object
          properties:
            default:
              description: Opening hours for members. Always applies.
              type: object
              properties:
                closedDays:
                  type: array
                  items:
                    type: string
                    format: date
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      days:
                        type: object
                        properties:
                          friday:
                            type: boolean
                          monday:
                            type: boolean
                          saturday:
                            type: boolean
                          sunday:
                            type: boolean
                          thursday:
                            type: boolean
                          tuesday:
                            type: boolean
                          wednesday:
                            type: boolean
                      hours:
                        type: object
                        properties:
                          from:
                            description: Opening time in 24-hour format.
                            type: string
                          to:
                            description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                            type: string
            public:
              description: Stricter opening hours for non-members. Applies only when enabled; otherwise non-members follow the default schedule.
              type: object
              properties:
                closedDays:
                  type: array
                  items:
                    type: string
                    format: date
                enabled:
                  type: boolean
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      days:
                        type: object
                        properties:
                          friday:
                            type: boolean
                          monday:
                            type: boolean
                          saturday:
                            type: boolean
                          sunday:
                            type: boolean
                          thursday:
                            type: boolean
                          tuesday:
                            type: boolean
                          wednesday:
                            type: boolean
                      hours:
                        type: object
                        properties:
                          from:
                            description: Opening time in 24-hour format.
                            type: string
                          to:
                            description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                            type: string
        taxId:
          description: Returned only to client credentials and to users with an admin role in the location.
          type: string
        timezoneId:
          $ref: '#/components/schemas/timezoneId'
        title:
          type: string
    network:
      type: object
      properties:
        id:
          format: uuid
          type: string
        title:
          type: string
    getPackages:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        packages:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                deprecated: true
                description: 'Total credits amount derived from grants. Deprecated: use grants instead.'
              duration:
                deprecated: true
                description: 'Maximum credit grant duration in days. Deprecated: use grants instead.'
                type: integer
                minimum: 1
                maximum: 3650
              grants:
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Grant amount in major units for credits, or whole units for day passes.
                    duration:
                      description: Number of days after purchase until the granted balance expires, from 1 to 3650. Omit for a non-expiring grant.
                      type: integer
                      minimum: 1
                      maximum: 3650
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the grant.
                    type:
                      type: string
                      enum:
                        - credits
                        - dayPasses
                      description: Type of balance this grant provides.
                  required:
                    - amount
                    - id
                    - type
                  additionalProperties: false
                description: Grants included in the package.
              id:
                type: string
                format: uuid
                description: Unique identifier of the package.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this package belongs to.
              networkRef:
                type: string
                format: uuid
                description: ID of the network this package belongs to.
              organizationRef:
                type: string
                format: uuid
                deprecated: true
                description: 'ID of the location this package belongs to. Deprecated: use locationRef instead.'
              price:
                type: number
                description: Package list price in major units.
              priceDiscounted:
                type: number
                deprecated: true
                description: 'Discounted price visible to members. Deprecated: equals price since 4.8.15.'
            required:
              - amount
              - grants
              - id
              - locationRef
              - networkRef
              - organizationRef
              - price
              - priceDiscounted
            additionalProperties: false
          description: List of packages.
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - packages
      additionalProperties: false
    getPackage:
      type: object
      properties:
        package:
          type: object
          properties:
            amount:
              type: number
              deprecated: true
              description: 'Total credits amount derived from grants. Deprecated: use grants instead.'
            duration:
              deprecated: true
              description: 'Maximum credit grant duration in days. Deprecated: use grants instead.'
              type: integer
              minimum: 1
              maximum: 3650
            grants:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Grant amount in major units for credits, or whole units for day passes.
                  duration:
                    description: Number of days after purchase until the granted balance expires, from 1 to 3650. Omit for a non-expiring grant.
                    type: integer
                    minimum: 1
                    maximum: 3650
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the grant.
                  type:
                    type: string
                    enum:
                      - credits
                      - dayPasses
                    description: Type of balance this grant provides.
                required:
                  - amount
                  - id
                  - type
                additionalProperties: false
              description: Grants included in the package.
            id:
              type: string
              format: uuid
              description: Unique identifier of the package.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this package belongs to.
            networkRef:
              type: string
              format: uuid
              description: ID of the network this package belongs to.
            organizationRef:
              type: string
              format: uuid
              deprecated: true
              description: 'ID of the location this package belongs to. Deprecated: use locationRef instead.'
            price:
              type: number
              description: Package list price in major units.
            priceDiscounted:
              type: number
              deprecated: true
              description: 'Discounted price visible to members. Deprecated: equals price since 4.8.15.'
          required:
            - amount
            - grants
            - id
            - locationRef
            - networkRef
            - organizationRef
            - price
            - priceDiscounted
          additionalProperties: false
          description: The package.
      required:
        - package
      additionalProperties: false
    getPlans:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        plans:
          type: array
          items:
            type: object
            properties:
              access:
                description: Third-party access integrations configured for the plan.
                type: object
                properties:
                  avigilonAltaGroupRef:
                    type: number
                    description: Avigilon Alta access group reference.
                  brivoGroupRef:
                    type: number
                    description: Brivo access group reference.
                  kisiGroupRef:
                    type: number
                    description: Kisi access group reference.
                  saltoksAccessGroupRef:
                    type: string
                    format: uuid
                    description: Salto KS access group reference.
                  tapkeyGroupRef:
                    type: string
                    format: uuid
                    description: Tapkey access group reference.
                  unifiAccessGroupRef:
                    type: string
                    description: UniFi Access policy reference.
                additionalProperties: false
              addons:
                default: []
                description: Addons included in the plan.
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the addon.
                  required:
                    - id
                  additionalProperties: false
              commitmentCycles:
                type: number
                description: Number of billing cycles the member is committed to.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the plan was created.
              credits:
                type: number
                description: Credits included in the plan.
              customTax:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether custom tax is enabled for the plan.
                  rate:
                    type: number
                    description: Custom tax rate percentage.
                required:
                  - enabled
                  - rate
                additionalProperties: false
                description: Custom tax settings.
              dayPasses:
                type: number
                description: Number of day passes included in the plan.
              description:
                type: string
                description: Description of the plan.
              discounts:
                type: object
                properties:
                  creditPackages:
                    type: number
                    description: Discount percentage for credit packages.
                  desks:
                    type: number
                    description: Discount percentage for desk bookings.
                  equipment:
                    type: number
                    description: Discount percentage for equipment bookings.
                  events:
                    type: number
                    description: Discount percentage for events.
                  rooms:
                    type: number
                    description: Discount percentage for room bookings.
                  shop:
                    type: number
                    description: Discount percentage for shop products.
                required:
                  - creditPackages
                  - desks
                  - equipment
                  - events
                  - rooms
                  - shop
                additionalProperties: false
                description: Percentage discounts applied to different product types.
                deprecated: true
              exclusiveAccess:
                type: object
                properties:
                  benefitRefs:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Benefit IDs with exclusive access for this plan.
                  resourceRefs:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Resource IDs with exclusive access for this plan.
                required:
                  - benefitRefs
                  - resourceRefs
                additionalProperties: false
                description: Resources and benefits exclusively available to members on this plan.
              grantedDiscounts:
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed discount amount.
                          type: number
                        currencyCode:
                          description: Currency code for amountOff.
                          type: string
                        enabledForCredits:
                          description: Whether the coupon applies to credit purchases.
                          type: boolean
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the coupon.
                        limitedItems:
                          description: Item-level redemption limits.
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether item-level limits are enabled.
                            values:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the limited item.
                                  title:
                                    description: Display name of the limited item.
                                    type: string
                                  type:
                                    type: string
                                    enum:
                                      - roomBookings
                                      - eventSpaceBookings
                                      - conferenceRoomBookings
                                      - meetingRoomBookings
                                      - phoneBoothBookings
                                      - stationBookings
                                      - studioBookings
                                      - hotDeskBookings
                                      - dedicatedDeskBookings
                                      - officeBookings
                                      - parkingBookings
                                      - equipmentBookings
                                      - eventTickets
                                      - shopProducts
                                      - packages
                                      - subscriptionItems
                                    description: Product type of the limited item.
                                required:
                                  - id
                                  - type
                                additionalProperties: false
                                description: Product or package the coupon is limited to.
                              description: Items the coupon applies to when limits are enabled.
                          required:
                            - enabled
                            - values
                          additionalProperties: false
                        limitedRedemption:
                          description: Redemption limits for the coupon.
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether redemption limits are enabled.
                            usage:
                              type: number
                              description: Current redemption count.
                            value:
                              type: number
                              description: Maximum redemption count.
                          required:
                            - enabled
                            - usage
                            - value
                          additionalProperties: false
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types the coupon applies to.
                          type: array
                          items:
                            type: string
                            enum:
                              - roomBookings
                              - eventSpaceBookings
                              - conferenceRoomBookings
                              - meetingRoomBookings
                              - phoneBoothBookings
                              - stationBookings
                              - studioBookings
                              - hotDeskBookings
                              - dedicatedDeskBookings
                              - officeBookings
                              - parkingBookings
                              - equipmentBookings
                              - eventTickets
                              - shopProducts
                              - packages
                              - subscriptionItems
                      required:
                        - id
                      additionalProperties: false
                      description: Granted coupon details.
                  required:
                    - coupon
                  additionalProperties: false
                description: Coupons granted to members on this plan.
              id:
                type: string
                format: uuid
                description: Unique identifier of the plan.
              locale:
                type: string
                description: Auto-detected language of the description.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this plan belongs to.
              period:
                type: string
                enum:
                  - day
                  - week
                  - month
                  - threeMonths
                  - sixMonths
                  - year
                description: Billing period of the plan.
              price:
                type: number
                description: Price of the plan.
              printing:
                description: Printing integration settings.
                type: object
                properties:
                  ezeepBlueGroupRef:
                    type: string
                    format: uuid
                    description: Ezeep Blue printing group reference.
                required:
                  - ezeepBlueGroupRef
                additionalProperties: false
              selfSignup:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether members can self-sign up to this plan.
                  type:
                    type: string
                    enum:
                      - immediate
                      - request
                    description: Self sign-up flow type.
                required:
                  - enabled
                  - type
                additionalProperties: false
                description: Self sign-up settings.
              setupFee:
                type: number
                description: One-time setup fee charged when subscribing.
              title:
                type: string
                description: Display name of the plan.
            required:
              - addons
              - commitmentCycles
              - createDate
              - credits
              - customTax
              - dayPasses
              - description
              - discounts
              - exclusiveAccess
              - grantedDiscounts
              - id
              - locale
              - locationRef
              - period
              - price
              - selfSignup
              - setupFee
              - title
            additionalProperties: false
          description: List of plans.
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - plans
      additionalProperties: false
    plan:
      type: object
      properties:
        access:
          description: Third-party access integrations configured for the plan.
          type: object
          properties:
            avigilonAltaGroupRef:
              type: number
              description: Avigilon Alta access group reference.
            brivoGroupRef:
              type: number
              description: Brivo access group reference.
            kisiGroupRef:
              type: number
              description: Kisi access group reference.
            saltoksAccessGroupRef:
              type: string
              format: uuid
              description: Salto KS access group reference.
            tapkeyGroupRef:
              type: string
              format: uuid
              description: Tapkey access group reference.
            unifiAccessGroupRef:
              type: string
              description: UniFi Access policy reference.
          additionalProperties: false
        addons:
          default: []
          description: Addons included in the plan.
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: Unique identifier of the addon.
            required:
              - id
            additionalProperties: false
        commitmentCycles:
          type: number
          description: Number of billing cycles the member is committed to.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the plan was created.
        credits:
          type: number
          description: Credits included in the plan.
        customTax:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether custom tax is enabled for the plan.
            rate:
              type: number
              description: Custom tax rate percentage.
          required:
            - enabled
            - rate
          additionalProperties: false
          description: Custom tax settings.
        dayPasses:
          type: number
          description: Number of day passes included in the plan.
        description:
          type: string
          description: Description of the plan.
        discounts:
          type: object
          properties:
            creditPackages:
              type: number
              description: Discount percentage for credit packages.
            desks:
              type: number
              description: Discount percentage for desk bookings.
            equipment:
              type: number
              description: Discount percentage for equipment bookings.
            events:
              type: number
              description: Discount percentage for events.
            rooms:
              type: number
              description: Discount percentage for room bookings.
            shop:
              type: number
              description: Discount percentage for shop products.
          required:
            - creditPackages
            - desks
            - equipment
            - events
            - rooms
            - shop
          additionalProperties: false
          description: Percentage discounts applied to different product types.
          deprecated: true
        exclusiveAccess:
          type: object
          properties:
            benefitRefs:
              type: array
              items:
                type: string
                format: uuid
              description: Benefit IDs with exclusive access for this plan.
            resourceRefs:
              type: array
              items:
                type: string
                format: uuid
              description: Resource IDs with exclusive access for this plan.
          required:
            - benefitRefs
            - resourceRefs
          additionalProperties: false
          description: Resources and benefits exclusively available to members on this plan.
        grantedDiscounts:
          type: array
          items:
            type: object
            properties:
              coupon:
                type: object
                properties:
                  amountOff:
                    description: Fixed discount amount.
                    type: number
                  currencyCode:
                    description: Currency code for amountOff.
                    type: string
                  enabledForCredits:
                    description: Whether the coupon applies to credit purchases.
                    type: boolean
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the coupon.
                  limitedItems:
                    description: Item-level redemption limits.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether item-level limits are enabled.
                      values:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the limited item.
                            title:
                              description: Display name of the limited item.
                              type: string
                            type:
                              type: string
                              enum:
                                - roomBookings
                                - eventSpaceBookings
                                - conferenceRoomBookings
                                - meetingRoomBookings
                                - phoneBoothBookings
                                - stationBookings
                                - studioBookings
                                - hotDeskBookings
                                - dedicatedDeskBookings
                                - officeBookings
                                - parkingBookings
                                - equipmentBookings
                                - eventTickets
                                - shopProducts
                                - packages
                                - subscriptionItems
                              description: Product type of the limited item.
                          required:
                            - id
                            - type
                          additionalProperties: false
                          description: Product or package the coupon is limited to.
                        description: Items the coupon applies to when limits are enabled.
                    required:
                      - enabled
                      - values
                    additionalProperties: false
                  limitedRedemption:
                    description: Redemption limits for the coupon.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether redemption limits are enabled.
                      usage:
                        type: number
                        description: Current redemption count.
                      value:
                        type: number
                        description: Maximum redemption count.
                    required:
                      - enabled
                      - usage
                      - value
                    additionalProperties: false
                  percentOff:
                    description: Percentage discount.
                    type: number
                  productTypes:
                    description: Product types the coupon applies to.
                    type: array
                    items:
                      type: string
                      enum:
                        - roomBookings
                        - eventSpaceBookings
                        - conferenceRoomBookings
                        - meetingRoomBookings
                        - phoneBoothBookings
                        - stationBookings
                        - studioBookings
                        - hotDeskBookings
                        - dedicatedDeskBookings
                        - officeBookings
                        - parkingBookings
                        - equipmentBookings
                        - eventTickets
                        - shopProducts
                        - packages
                        - subscriptionItems
                required:
                  - id
                additionalProperties: false
                description: Granted coupon details.
            required:
              - coupon
            additionalProperties: false
          description: Coupons granted to members on this plan.
        id:
          type: string
          format: uuid
          description: Unique identifier of the plan.
        locale:
          type: string
          description: Auto-detected language of the description.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this plan belongs to.
        period:
          type: string
          enum:
            - day
            - week
            - month
            - threeMonths
            - sixMonths
            - year
          description: Billing period of the plan.
        price:
          type: number
          description: Price of the plan.
        printing:
          description: Printing integration settings.
          type: object
          properties:
            ezeepBlueGroupRef:
              type: string
              format: uuid
              description: Ezeep Blue printing group reference.
          required:
            - ezeepBlueGroupRef
          additionalProperties: false
        selfSignup:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether members can self-sign up to this plan.
            type:
              type: string
              enum:
                - immediate
                - request
              description: Self sign-up flow type.
          required:
            - enabled
            - type
          additionalProperties: false
          description: Self sign-up settings.
        setupFee:
          type: number
          description: One-time setup fee charged when subscribing.
        title:
          type: string
          description: Display name of the plan.
      required:
        - addons
        - commitmentCycles
        - createDate
        - credits
        - customTax
        - dayPasses
        - description
        - discounts
        - exclusiveAccess
        - grantedDiscounts
        - id
        - locale
        - locationRef
        - period
        - price
        - selfSignup
        - setupFee
        - title
      additionalProperties: false
    getPlan:
      type: object
      properties:
        plan:
          type: object
          properties:
            access:
              description: Third-party access integrations configured for the plan.
              type: object
              properties:
                avigilonAltaGroupRef:
                  type: number
                  description: Avigilon Alta access group reference.
                brivoGroupRef:
                  type: number
                  description: Brivo access group reference.
                kisiGroupRef:
                  type: number
                  description: Kisi access group reference.
                saltoksAccessGroupRef:
                  type: string
                  format: uuid
                  description: Salto KS access group reference.
                tapkeyGroupRef:
                  type: string
                  format: uuid
                  description: Tapkey access group reference.
                unifiAccessGroupRef:
                  type: string
                  description: UniFi Access policy reference.
              additionalProperties: false
            addons:
              default: []
              description: Addons included in the plan.
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the addon.
                required:
                  - id
                additionalProperties: false
            commitmentCycles:
              type: number
              description: Number of billing cycles the member is committed to.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the plan was created.
            credits:
              type: number
              description: Credits included in the plan.
            customTax:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether custom tax is enabled for the plan.
                rate:
                  type: number
                  description: Custom tax rate percentage.
              required:
                - enabled
                - rate
              additionalProperties: false
              description: Custom tax settings.
            dayPasses:
              type: number
              description: Number of day passes included in the plan.
            description:
              type: string
              description: Description of the plan.
            discounts:
              type: object
              properties:
                creditPackages:
                  type: number
                  description: Discount percentage for credit packages.
                desks:
                  type: number
                  description: Discount percentage for desk bookings.
                equipment:
                  type: number
                  description: Discount percentage for equipment bookings.
                events:
                  type: number
                  description: Discount percentage for events.
                rooms:
                  type: number
                  description: Discount percentage for room bookings.
                shop:
                  type: number
                  description: Discount percentage for shop products.
              required:
                - creditPackages
                - desks
                - equipment
                - events
                - rooms
                - shop
              additionalProperties: false
              description: Percentage discounts applied to different product types.
              deprecated: true
            exclusiveAccess:
              type: object
              properties:
                benefitRefs:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: Benefit IDs with exclusive access for this plan.
                resourceRefs:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: Resource IDs with exclusive access for this plan.
              required:
                - benefitRefs
                - resourceRefs
              additionalProperties: false
              description: Resources and benefits exclusively available to members on this plan.
            grantedDiscounts:
              type: array
              items:
                type: object
                properties:
                  coupon:
                    type: object
                    properties:
                      amountOff:
                        description: Fixed discount amount.
                        type: number
                      currencyCode:
                        description: Currency code for amountOff.
                        type: string
                      enabledForCredits:
                        description: Whether the coupon applies to credit purchases.
                        type: boolean
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the coupon.
                      limitedItems:
                        description: Item-level redemption limits.
                        type: object
                        properties:
                          enabled:
                            type: boolean
                            description: Whether item-level limits are enabled.
                          values:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the limited item.
                                title:
                                  description: Display name of the limited item.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - roomBookings
                                    - eventSpaceBookings
                                    - conferenceRoomBookings
                                    - meetingRoomBookings
                                    - phoneBoothBookings
                                    - stationBookings
                                    - studioBookings
                                    - hotDeskBookings
                                    - dedicatedDeskBookings
                                    - officeBookings
                                    - parkingBookings
                                    - equipmentBookings
                                    - eventTickets
                                    - shopProducts
                                    - packages
                                    - subscriptionItems
                                  description: Product type of the limited item.
                              required:
                                - id
                                - type
                              additionalProperties: false
                              description: Product or package the coupon is limited to.
                            description: Items the coupon applies to when limits are enabled.
                        required:
                          - enabled
                          - values
                        additionalProperties: false
                      limitedRedemption:
                        description: Redemption limits for the coupon.
                        type: object
                        properties:
                          enabled:
                            type: boolean
                            description: Whether redemption limits are enabled.
                          usage:
                            type: number
                            description: Current redemption count.
                          value:
                            type: number
                            description: Maximum redemption count.
                        required:
                          - enabled
                          - usage
                          - value
                        additionalProperties: false
                      percentOff:
                        description: Percentage discount.
                        type: number
                      productTypes:
                        description: Product types the coupon applies to.
                        type: array
                        items:
                          type: string
                          enum:
                            - roomBookings
                            - eventSpaceBookings
                            - conferenceRoomBookings
                            - meetingRoomBookings
                            - phoneBoothBookings
                            - stationBookings
                            - studioBookings
                            - hotDeskBookings
                            - dedicatedDeskBookings
                            - officeBookings
                            - parkingBookings
                            - equipmentBookings
                            - eventTickets
                            - shopProducts
                            - packages
                            - subscriptionItems
                    required:
                      - id
                    additionalProperties: false
                    description: Granted coupon details.
                required:
                  - coupon
                additionalProperties: false
              description: Coupons granted to members on this plan.
            id:
              type: string
              format: uuid
              description: Unique identifier of the plan.
            locale:
              type: string
              description: Auto-detected language of the description.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this plan belongs to.
            period:
              type: string
              enum:
                - day
                - week
                - month
                - threeMonths
                - sixMonths
                - year
              description: Billing period of the plan.
            price:
              type: number
              description: Price of the plan.
            printing:
              description: Printing integration settings.
              type: object
              properties:
                ezeepBlueGroupRef:
                  type: string
                  format: uuid
                  description: Ezeep Blue printing group reference.
              required:
                - ezeepBlueGroupRef
              additionalProperties: false
            selfSignup:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether members can self-sign up to this plan.
                type:
                  type: string
                  enum:
                    - immediate
                    - request
                  description: Self sign-up flow type.
              required:
                - enabled
                - type
              additionalProperties: false
              description: Self sign-up settings.
            setupFee:
              type: number
              description: One-time setup fee charged when subscribing.
            title:
              type: string
              description: Display name of the plan.
          required:
            - addons
            - commitmentCycles
            - createDate
            - credits
            - customTax
            - dayPasses
            - description
            - discounts
            - exclusiveAccess
            - grantedDiscounts
            - id
            - locale
            - locationRef
            - period
            - price
            - selfSignup
            - setupFee
            - title
          additionalProperties: false
          description: The plan.
      required:
        - plan
      additionalProperties: false
    registration:
      type: object
      properties:
        blacklisted:
          type: boolean
          description: Whether the user email is on the network blacklist.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the registration was created.
        customers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: Unique identifier of the customer membership.
              membershipType:
                type: string
                enum:
                  - member
                  - nonmember
                  - none
                description: Type of membership for the user in the network.
              organizationRef:
                type: string
                format: uuid
                description: ID of the organization the customer belongs to.
            required:
              - id
              - membershipType
              - organizationRef
            additionalProperties: false
          description: Customer memberships linked to the user in the network.
        id:
          type: string
          format: uuid
          description: Unique identifier of the registration.
        lastSeenDate:
          description: ISO timestamp of when the user was last seen in the network.
          type: string
          format: date-time
        locationPermissions:
          description: Location-scoped admin permissions. Included only for owners or when viewing the current user's registration.
          type: object
          properties:
            admins:
              type: boolean
              description: Whether the admin can manage other admins.
            allLocations:
              type: boolean
              description: Whether permissions apply to all locations.
            analytics:
              type: boolean
              description: Whether the admin can access analytics.
            benefits:
              type: boolean
              description: Whether the admin can manage benefits.
            billing:
              type: boolean
              description: Whether the admin can manage billing.
            bookings:
              type: boolean
              description: Whether the admin can manage bookings.
            customers:
              type: boolean
              description: Whether the admin can manage customers.
            events:
              type: boolean
              description: Whether the admin can manage events.
            exclusiveLocations:
              type: array
              items:
                type: string
                format: uuid
              description: Location IDs where permissions are limited.
            feed:
              type: boolean
              description: Whether the admin can manage the feed.
            resources:
              description: Whether the admin can manage resources and their bookings.
              type: boolean
            settings:
              type: boolean
              description: Whether the admin can change network settings.
            shop:
              type: boolean
              description: Whether the admin can manage the shop.
            support:
              type: boolean
              description: Whether the admin can access support tools.
          required:
            - admins
            - allLocations
            - analytics
            - benefits
            - billing
            - bookings
            - customers
            - events
            - exclusiveLocations
            - feed
            - settings
            - shop
            - support
          additionalProperties: false
        role:
          description: Role of the user in the network.
          type: string
          enum:
            - owner
            - admin
            - member
        termsConsentDate:
          description: ISO timestamp or date when terms consent was given.
          type: string
        type:
          type: string
          enum:
            - user
            - agent
          description: Whether the registration belongs to a person or to an AI agent.
        user:
          type: object
          properties:
            about:
              description: About text of the user.
              nullable: true
              type: string
            deleteDate:
              description: ISO timestamp when the user account was deleted.
              nullable: true
              type: string
              format: date-time
            email:
              type: string
              description: Email address of the user.
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              type: string
              description: First name of the user.
            phoneNumber:
              description: Phone number of the user.
              nullable: true
              type: string
            photoUrl:
              nullable: true
              description: Profile photo URL of the user.
              type: string
            surname:
              description: Surname of the user.
              nullable: true
              type: string
          required:
            - email
            - id
            - name
            - photoUrl
          additionalProperties: false
          description: Profile details of the registered user.
      required:
        - blacklisted
        - createDate
        - customers
        - id
        - type
        - user
      additionalProperties: false
    getResources:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        resources:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              assignments:
                type: array
                items:
                  type: object
                  properties:
                    company:
                      deprecated: true
                      description: Deprecated. Use customer instead. Company assigned to the resource.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Company id.
                        title:
                          description: Company name. Present only for admin callers and the customer's own assignments.
                          type: string
                      required:
                        - id
                      additionalProperties: false
                    customer:
                      description: Customer the resource is assigned to.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Customer id.
                        title:
                          description: Company name when the customer is a company.
                          type: string
                        type:
                          type: string
                          enum:
                            - user
                            - company
                          description: Whether the customer is a user or company.
                        user:
                          description: User details when the customer is a user.
                          type: object
                          properties:
                            email:
                              description: User email.
                              nullable: true
                              type: string
                            id:
                              type: string
                              format: uuid
                              description: User id.
                            name:
                              description: User first name.
                              nullable: true
                              type: string
                            surname:
                              description: User last name.
                              nullable: true
                              type: string
                          required:
                            - id
                          additionalProperties: false
                      required:
                        - id
                        - type
                      additionalProperties: false
                    endDate:
                      description: ISO timestamp when the assignment ends.
                      type: string
                    entire:
                      type: boolean
                      description: Whether the assignment grants access to the entire resource.
                    id:
                      description: Assignment id.
                      type: string
                      format: uuid
                    membership:
                      deprecated: true
                      description: Deprecated. Use customer instead. Membership linked to the assignment.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Membership id.
                      required:
                        - id
                      additionalProperties: false
                    quantity:
                      description: Assigned quantity when the resource is partially assigned.
                      type: number
                    resource:
                      description: Resource the assignment belongs to. Present when assignments are listed on their own.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Resource id.
                        imageUrl:
                          description: Resource image URL.
                          type: string
                        locationRef:
                          type: string
                          format: uuid
                          description: UUID of the location the resource belongs to.
                        title:
                          type: string
                          description: Resource title.
                        type:
                          type: string
                          description: Resource type.
                      required:
                        - id
                        - locationRef
                        - title
                        - type
                      additionalProperties: false
                    resourceRef:
                      type: string
                      format: uuid
                      description: UUID of the resource the assignment belongs to.
                    startDate:
                      type: string
                      description: ISO timestamp when the assignment starts.
                    subscription:
                      type: object
                      properties:
                        endDate:
                          description: ISO timestamp when the assignment ends.
                          type: string
                        id:
                          description: Subscription id. Absent for assignments created directly by an admin.
                          type: string
                          format: uuid
                        startDate:
                          type: string
                          description: ISO timestamp when the assignment starts.
                      required:
                        - startDate
                      additionalProperties: false
                      description: Deprecated. Use startDate and endDate instead. Subscription backing this assignment.
                    user:
                      deprecated: true
                      description: Deprecated. Use customer instead. User assigned to the resource.
                      type: object
                      properties:
                        email:
                          description: User email.
                          nullable: true
                          type: string
                        id:
                          type: string
                          format: uuid
                          description: User id.
                        name:
                          description: User first name.
                          nullable: true
                          type: string
                        surname:
                          description: User last name.
                          nullable: true
                          type: string
                      required:
                        - id
                      additionalProperties: false
                  required:
                    - entire
                    - resourceRef
                    - startDate
                    - subscription
                  additionalProperties: false
                description: Active resource assignments.
              autoRelease:
                description: Auto-release settings for no-show bookings.
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether auto-release is enabled.
                  interval:
                    type: string
                    enum:
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                    description: Minutes after start or creation before the slot is released.
                required:
                  - enabled
                  - interval
                additionalProperties: false
              avigilonAltaGroupRef:
                description: Avigilon Alta access group reference.
                nullable: true
                type: number
              bookingPermission:
                type: string
                enum:
                  - admins
                  - exclusiveMembers
                  - members
                  - networkMembers
                  - public
                description: Who can create bookings on this resource.
              bookingStepMinutes:
                description: Booking step size in minutes.
                type: number
              bookingUnit:
                type: string
                enum:
                  - hour
                  - day
                description: Whether bookings are measured in hours or in whole days.
              bookingWindow:
                type: object
                properties:
                  bookAhead:
                    description: How far ahead users can book the resource.
                    type: string
                    enum:
                      - oneDay
                      - twoDays
                      - oneWeek
                      - twoWeeks
                      - oneMonth
                      - threeMonths
                      - sixMonths
                      - oneYear
                      - unlimited
                  enabled:
                    type: boolean
                    description: Whether the resource uses this booking window instead of the one its location sets for the resource type.
                  minNotice:
                    description: How many minutes before it starts a booking of the resource has to be made.
                    type: integer
                    minimum: 0
                    maximum: 43200
                required:
                  - enabled
                additionalProperties: false
                description: How soon and how far ahead users can book this resource. While enabled is false, the resource follows the booking window its location sets for the resource type.
              brivoGroupRef:
                description: Brivo access group reference.
                nullable: true
                type: number
              bufferTime:
                type: string
                enum:
                  - zeroMinutes
                  - fiveMinutes
                  - tenMinutes
                  - fifteenMinutes
                  - thirtyMinutes
                  - sixtyMinutes
                description: Buffer time blocked before each booking.
              capacity:
                description: Maximum capacity per booking.
                nullable: true
                type: number
              checkIn:
                description: Check-in settings.
                type: object
                properties:
                  interval:
                    type: string
                    enum:
                      - zeroMinutes
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                    description: How early before start the guest must check in.
                required:
                  - interval
                additionalProperties: false
              children:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Id of the child resource.
                    title:
                      type: string
                      description: Title of the child resource.
                  required:
                    - id
                    - title
                  additionalProperties: false
                description: Child resources when this is a parent resource. Bookings on a child resource also block the parent.
              confirmationEmail:
                type: object
                properties:
                  bookingCreatedByAdmin:
                    type: boolean
                    description: Send confirmation when an admin creates a booking.
                  bookingCreatedByMember:
                    type: boolean
                    description: Send confirmation when a member creates a booking.
                  bookingCreatedByNetworkMember:
                    type: boolean
                    description: Send confirmation when a network member creates a booking.
                  bookingCreatedByPublic:
                    type: boolean
                    description: Send confirmation when a public user creates a booking.
                  template:
                    type: string
                    description: Email template id for confirmation emails.
                required:
                  - bookingCreatedByAdmin
                  - bookingCreatedByMember
                  - bookingCreatedByNetworkMember
                  - bookingCreatedByPublic
                  - template
                additionalProperties: false
                description: Confirmation email settings.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the resource was created.
              credits:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether customers can pay with location credits.
                  tiers:
                    type: array
                    items:
                      type: object
                      properties:
                        flatAmount:
                          type: number
                          description: Fixed fee added once to bookings in this tier.
                        from:
                          type: number
                          description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                        unit:
                          type: string
                          enum:
                            - hour
                            - day
                          description: Whether the tier is priced per hour or per day.
                        unitAmount:
                          type: number
                          description: Price per unit of booking time within this tier, never per minute.
                      required:
                        - flatAmount
                        - from
                        - unit
                        - unitAmount
                      additionalProperties: false
                    description: Stepped credit pricing tiers.
                required:
                  - enabled
                  - tiers
                additionalProperties: false
                description: Credit pricing settings.
              dayPassesEnabled:
                description: Whether members can book this resource with day passes. Only hotDesk resources support day passes.
                type: boolean
              description:
                type: string
                description: Description of the resource.
              duration:
                type: object
                properties:
                  max:
                    type: number
                    description: Maximum booking duration in minutes.
                  min:
                    type: number
                    description: Minimum booking duration in minutes.
                  public:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether public bookers have separate duration limits.
                      max:
                        type: number
                        description: Maximum booking duration in minutes for public bookers.
                      min:
                        type: number
                        description: Minimum booking duration in minutes for public bookers.
                    required:
                      - enabled
                      - max
                      - min
                    additionalProperties: false
                    description: Duration limits for public bookers.
                required:
                  - max
                  - min
                  - public
                additionalProperties: false
                description: Booking duration bounds.
              dynamicPricing:
                type: object
                properties:
                  deltaAbove:
                    type: number
                    description: Maximum price increase percentage when demand is high.
                  deltaBelow:
                    type: number
                    description: Maximum price decrease percentage when demand is low.
                  enabled:
                    type: boolean
                    description: Whether dynamic pricing is enabled.
                required:
                  - deltaAbove
                  - deltaBelow
                  - enabled
                additionalProperties: false
                description: Dynamic pricing settings.
              googleCalendar:
                description: Google Calendar integration settings.
                type: object
                properties:
                  id:
                    type: string
                    description: Google Calendar id.
                  twoWaySyncEnabled:
                    type: boolean
                    description: Whether two-way sync is enabled.
                required:
                  - id
                  - twoWaySyncEnabled
                additionalProperties: false
              id:
                type: string
                format: uuid
                description: Unique identifier of the resource.
              imageUrl:
                description: Public URL of the resource's cover, the first image in media.
                type: string
              kisiGroupRef:
                description: Kisi access group reference.
                nullable: true
                type: number
              locale:
                type: string
                description: Auto-detected language of the description.
              locationRef:
                type: string
                format: uuid
                description: ID of the location.
              media:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the image.
                    url:
                      description: Public URL of the image.
                      type: string
                  required:
                    - key
                  additionalProperties: false
                description: Images of the resource in display order, the first one being its cover.
              money:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether customers can pay with money.
                  tiers:
                    type: array
                    items:
                      type: object
                      properties:
                        flatAmount:
                          type: number
                          description: Fixed fee added once to bookings in this tier.
                        from:
                          type: number
                          description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                        unit:
                          type: string
                          enum:
                            - hour
                            - day
                          description: Whether the tier is priced per hour or per day.
                        unitAmount:
                          type: number
                          description: Price per unit of booking time within this tier, never per minute.
                      required:
                        - flatAmount
                        - from
                        - unit
                        - unitAmount
                      additionalProperties: false
                    description: Stepped money pricing tiers.
                required:
                  - enabled
                  - tiers
                additionalProperties: false
                description: Money pricing settings.
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              outlookCalendar:
                description: Outlook Calendar integration settings.
                type: object
                properties:
                  id:
                    type: string
                    description: Outlook calendar id.
                  twoWaySyncEnabled:
                    type: boolean
                    description: Whether two-way sync is enabled.
                required:
                  - id
                  - twoWaySyncEnabled
                additionalProperties: false
              parentRef:
                description: Parent resource id when this is a child resource.
                type: string
                format: uuid
              plans:
                description: Plan tiers configured on the resource.
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether plan-based access is enabled.
                  tiers:
                    type: array
                    items:
                      type: object
                      properties:
                        addons:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Addon id.
                            required:
                              - id
                            additionalProperties: false
                          description: Addons included in the tier.
                        commitmentCycles:
                          type: number
                          description: Number of billing cycles in the tier.
                        credits:
                          type: number
                          description: Credits included in the tier.
                        dayPasses:
                          description: Day passes included in the tier.
                          type: number
                        description:
                          description: Description of the tier.
                          type: string
                        discounts:
                          deprecated: true
                          description: Synthetic discount percentages by product type.
                          type: object
                          properties:
                            creditPackages:
                              description: Discount percentage for credit packages.
                              type: number
                            desks:
                              description: Discount percentage for desk bookings.
                              type: number
                            equipment:
                              description: Discount percentage for equipment bookings.
                              type: number
                            events:
                              description: Discount percentage for events.
                              type: number
                            rooms:
                              description: Discount percentage for room bookings.
                              type: number
                            shop:
                              description: Discount percentage for shop products.
                              type: number
                          additionalProperties: false
                        entire:
                          type: boolean
                          description: Whether the tier grants access to the entire resource.
                        grantedDiscounts:
                          type: array
                          items:
                            type: object
                            properties:
                              coupon:
                                type: object
                                properties:
                                  amountOff:
                                    description: Fixed discount amount.
                                    type: number
                                  currencyCode:
                                    description: Currency code for amountOff.
                                    type: string
                                  enabledForCredits:
                                    description: Whether the coupon applies to credit purchases.
                                    type: boolean
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the coupon.
                                  limitedItems:
                                    description: Item-level redemption limits.
                                    type: object
                                    properties:
                                      enabled:
                                        type: boolean
                                        description: Whether item-level limits are enabled.
                                      values:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            id:
                                              type: string
                                              format: uuid
                                              description: Unique identifier of the limited item.
                                            title:
                                              description: Display name of the limited item.
                                              type: string
                                            type:
                                              type: string
                                              enum:
                                                - roomBookings
                                                - eventSpaceBookings
                                                - conferenceRoomBookings
                                                - meetingRoomBookings
                                                - phoneBoothBookings
                                                - stationBookings
                                                - studioBookings
                                                - hotDeskBookings
                                                - dedicatedDeskBookings
                                                - officeBookings
                                                - parkingBookings
                                                - equipmentBookings
                                                - eventTickets
                                                - shopProducts
                                                - packages
                                                - subscriptionItems
                                              description: Product type of the limited item.
                                          required:
                                            - id
                                            - type
                                          additionalProperties: false
                                          description: Product or package the coupon is limited to.
                                        description: Items the coupon applies to when limits are enabled.
                                    required:
                                      - enabled
                                      - values
                                    additionalProperties: false
                                  limitedRedemption:
                                    description: Redemption limits for the coupon.
                                    type: object
                                    properties:
                                      enabled:
                                        type: boolean
                                        description: Whether redemption limits are enabled.
                                      usage:
                                        type: number
                                        description: Current redemption count.
                                      value:
                                        type: number
                                        description: Maximum redemption count.
                                    required:
                                      - enabled
                                      - usage
                                      - value
                                    additionalProperties: false
                                  percentOff:
                                    description: Percentage discount.
                                    type: number
                                  productTypes:
                                    description: Product types the coupon applies to.
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - roomBookings
                                        - eventSpaceBookings
                                        - conferenceRoomBookings
                                        - meetingRoomBookings
                                        - phoneBoothBookings
                                        - stationBookings
                                        - studioBookings
                                        - hotDeskBookings
                                        - dedicatedDeskBookings
                                        - officeBookings
                                        - parkingBookings
                                        - equipmentBookings
                                        - eventTickets
                                        - shopProducts
                                        - packages
                                        - subscriptionItems
                                required:
                                  - id
                                additionalProperties: false
                                description: Granted coupon details.
                            required:
                              - coupon
                            additionalProperties: false
                          description: Coupons granted to members on this tier.
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the tier.
                        period:
                          type: string
                          enum:
                            - day
                            - week
                            - month
                            - threeMonths
                            - sixMonths
                            - year
                          description: Billing period of the tier.
                        plan:
                          type: object
                          properties:
                            commitmentCycles:
                              type: number
                              description: Number of billing cycles in the tier.
                            credits:
                              type: number
                              description: Credits included in the tier.
                            dayPasses:
                              type: number
                              description: Day passes included in the tier.
                            discounts:
                              deprecated: true
                              description: Synthetic discount percentages by product type.
                              type: object
                              properties:
                                creditPackages:
                                  description: Discount percentage for credit packages.
                                  type: number
                                desks:
                                  description: Discount percentage for desk bookings.
                                  type: number
                                equipment:
                                  description: Discount percentage for equipment bookings.
                                  type: number
                                events:
                                  description: Discount percentage for events.
                                  type: number
                                rooms:
                                  description: Discount percentage for room bookings.
                                  type: number
                                shop:
                                  description: Discount percentage for shop products.
                                  type: number
                              additionalProperties: false
                            grantedDiscounts:
                              type: array
                              items:
                                type: object
                                properties:
                                  coupon:
                                    type: object
                                    properties:
                                      amountOff:
                                        description: Fixed discount amount.
                                        type: number
                                      currencyCode:
                                        description: Currency code for amountOff.
                                        type: string
                                      enabledForCredits:
                                        description: Whether the coupon applies to credit purchases.
                                        type: boolean
                                      id:
                                        type: string
                                        format: uuid
                                        description: Unique identifier of the coupon.
                                      limitedItems:
                                        description: Item-level redemption limits.
                                        type: object
                                        properties:
                                          enabled:
                                            type: boolean
                                            description: Whether item-level limits are enabled.
                                          values:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                id:
                                                  type: string
                                                  format: uuid
                                                  description: Unique identifier of the limited item.
                                                title:
                                                  description: Display name of the limited item.
                                                  type: string
                                                type:
                                                  type: string
                                                  enum:
                                                    - roomBookings
                                                    - eventSpaceBookings
                                                    - conferenceRoomBookings
                                                    - meetingRoomBookings
                                                    - phoneBoothBookings
                                                    - stationBookings
                                                    - studioBookings
                                                    - hotDeskBookings
                                                    - dedicatedDeskBookings
                                                    - officeBookings
                                                    - parkingBookings
                                                    - equipmentBookings
                                                    - eventTickets
                                                    - shopProducts
                                                    - packages
                                                    - subscriptionItems
                                                  description: Product type of the limited item.
                                              required:
                                                - id
                                                - type
                                              additionalProperties: false
                                              description: Product or package the coupon is limited to.
                                            description: Items the coupon applies to when limits are enabled.
                                        required:
                                          - enabled
                                          - values
                                        additionalProperties: false
                                      limitedRedemption:
                                        description: Redemption limits for the coupon.
                                        type: object
                                        properties:
                                          enabled:
                                            type: boolean
                                            description: Whether redemption limits are enabled.
                                          usage:
                                            type: number
                                            description: Current redemption count.
                                          value:
                                            type: number
                                            description: Maximum redemption count.
                                        required:
                                          - enabled
                                          - usage
                                          - value
                                        additionalProperties: false
                                      percentOff:
                                        description: Percentage discount.
                                        type: number
                                      productTypes:
                                        description: Product types the coupon applies to.
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - roomBookings
                                            - eventSpaceBookings
                                            - conferenceRoomBookings
                                            - meetingRoomBookings
                                            - phoneBoothBookings
                                            - stationBookings
                                            - studioBookings
                                            - hotDeskBookings
                                            - dedicatedDeskBookings
                                            - officeBookings
                                            - parkingBookings
                                            - equipmentBookings
                                            - eventTickets
                                            - shopProducts
                                            - packages
                                            - subscriptionItems
                                    required:
                                      - id
                                    additionalProperties: false
                                    description: Granted coupon details.
                                required:
                                  - coupon
                                additionalProperties: false
                              description: Coupons granted to members on this tier.
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the tier.
                            period:
                              type: string
                              enum:
                                - day
                                - week
                                - month
                                - threeMonths
                                - sixMonths
                                - year
                              description: Billing period of the tier.
                            price:
                              type: number
                              description: Price of the tier.
                            title:
                              type: string
                              description: Title of the tier.
                          required:
                            - commitmentCycles
                            - credits
                            - dayPasses
                            - grantedDiscounts
                            - id
                            - period
                            - price
                            - title
                          additionalProperties: false
                          description: Nested plan details on responses.
                        price:
                          type: number
                          description: Price of the tier.
                        selfSignup:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether members may self-enroll into the tier.
                            type:
                              type: string
                              description: Self sign-up flow type for the tier.
                          required:
                            - enabled
                            - type
                          additionalProperties: false
                          description: Self sign-up settings of the tier.
                        selfSignupType:
                          deprecated: true
                          description: Deprecated. Use selfSignup.type instead. Self sign-up flow type for the tier.
                          type: string
                        setupFee:
                          type: number
                          description: One-time setup fee for the tier.
                        title:
                          type: string
                          description: Title of the tier.
                      required:
                        - addons
                        - commitmentCycles
                        - credits
                        - entire
                        - grantedDiscounts
                        - id
                        - period
                        - plan
                        - price
                        - selfSignup
                        - setupFee
                        - title
                      additionalProperties: false
                    description: Plan tiers configured on the resource.
                required:
                  - enabled
                  - tiers
                additionalProperties: false
              preparationMinutes:
                type: string
                enum:
                  - zeroMinutes
                  - fiveMinutes
                  - tenMinutes
                  - fifteenMinutes
                  - thirtyMinutes
                  - sixtyMinutes
                description: Deprecated. Use bufferTime instead.
                deprecated: true
              pricingRules:
                type: array
                items:
                  type: object
                  properties:
                    credits:
                      description: Credit prices on the selected days. When omitted, the regular credit tiers apply on them.
                      type: object
                      properties:
                        tiers:
                          type: array
                          items:
                            type: object
                            properties:
                              flatAmount:
                                type: number
                                description: Fixed fee added once to bookings in this tier.
                              from:
                                type: number
                                description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                              unit:
                                type: string
                                enum:
                                  - hour
                                  - day
                                description: Whether the tier is priced per hour or per day.
                              unitAmount:
                                type: number
                                description: Price per unit of booking time within this tier, never per minute.
                            required:
                              - flatAmount
                              - from
                              - unit
                              - unitAmount
                            additionalProperties: false
                          description: Stepped credit pricing tiers for the selected days.
                      required:
                        - tiers
                      additionalProperties: false
                    days:
                      type: object
                      properties:
                        friday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Friday.
                        monday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Monday.
                        saturday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Saturday.
                        sunday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Sunday.
                        thursday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Thursday.
                        tuesday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Tuesday.
                        wednesday:
                          type: boolean
                          description: Whether the rule applies to bookings starting on a Wednesday.
                      required:
                        - friday
                        - monday
                        - saturday
                        - sunday
                        - thursday
                        - tuesday
                        - wednesday
                      additionalProperties: false
                      description: Weekdays, in the location's time zone, on which a booking that starts gets these prices.
                    money:
                      description: Money prices on the selected days. When omitted, the regular money tiers apply on them.
                      type: object
                      properties:
                        tiers:
                          type: array
                          items:
                            type: object
                            properties:
                              flatAmount:
                                type: number
                                description: Fixed fee added once to bookings in this tier.
                              from:
                                type: number
                                description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                              unit:
                                type: string
                                enum:
                                  - hour
                                  - day
                                description: Whether the tier is priced per hour or per day.
                              unitAmount:
                                type: number
                                description: Price per unit of booking time within this tier, never per minute.
                            required:
                              - flatAmount
                              - from
                              - unit
                              - unitAmount
                            additionalProperties: false
                          description: Stepped money pricing tiers for the selected days.
                      required:
                        - tiers
                      additionalProperties: false
                  required:
                    - days
                  additionalProperties: false
                description: Prices that replace the regular money and credit tiers for bookings starting on the selected weekdays. A booking is priced by the rule covering the weekday of its start in the location's time zone, and by the regular tiers when no rule covers it.
              refundThreshold:
                type: string
                enum:
                  - noRefund
                  - zeroMinutes
                  - fifteenMinutes
                  - thirtyMinutes
                  - oneHour
                  - twoHours
                  - fourHours
                  - sixHours
                  - twelveHours
                  - oneDay
                  - twoDays
                  - oneWeek
                  - twoWeeks
                  - fourWeeks
                description: Refund threshold for cancellations.
              saltoksAccessGroupRef:
                description: Salto KS access group reference.
                nullable: true
                type: string
                format: uuid
              schedule:
                description: Availability schedule.
                type: object
                properties:
                  default:
                    type: object
                    properties:
                      closedDays:
                        type: array
                        items:
                          type: string
                        description: Dates in MM-DD format when the resource is closed.
                      items:
                        type: array
                        items:
                          type: object
                          properties:
                            days:
                              type: object
                              properties:
                                friday:
                                  type: boolean
                                  description: Whether Friday is included in this schedule window.
                                monday:
                                  type: boolean
                                  description: Whether Monday is included in this schedule window.
                                saturday:
                                  type: boolean
                                  description: Whether Saturday is included in this schedule window.
                                sunday:
                                  type: boolean
                                  description: Whether Sunday is included in this schedule window.
                                thursday:
                                  type: boolean
                                  description: Whether Thursday is included in this schedule window.
                                tuesday:
                                  type: boolean
                                  description: Whether Tuesday is included in this schedule window.
                                wednesday:
                                  type: boolean
                                  description: Whether Wednesday is included in this schedule window.
                              required:
                                - friday
                                - monday
                                - saturday
                                - sunday
                                - thursday
                                - tuesday
                                - wednesday
                              additionalProperties: false
                              description: Weekdays this time window applies to.
                            hours:
                              type: object
                              properties:
                                from:
                                  type: string
                                  description: Opening time in 24-hour "HH:mm" format.
                                to:
                                  type: string
                                  description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                              required:
                                - from
                                - to
                              additionalProperties: false
                              description: Open hours for the selected weekdays.
                          required:
                            - days
                            - hours
                          additionalProperties: false
                        description: Weekly availability windows for members.
                    required:
                      - closedDays
                      - items
                    additionalProperties: false
                    description: Default availability schedule.
                  enabled:
                    type: boolean
                    description: Whether scheduling is enabled.
                  public:
                    type: object
                    properties:
                      closedDays:
                        type: array
                        items:
                          type: string
                        description: Dates in MM-DD format when the resource is closed for public bookers.
                      enabled:
                        type: boolean
                        description: Whether the public schedule is enabled.
                      items:
                        type: array
                        items:
                          type: object
                          properties:
                            days:
                              type: object
                              properties:
                                friday:
                                  type: boolean
                                  description: Whether Friday is included in this schedule window.
                                monday:
                                  type: boolean
                                  description: Whether Monday is included in this schedule window.
                                saturday:
                                  type: boolean
                                  description: Whether Saturday is included in this schedule window.
                                sunday:
                                  type: boolean
                                  description: Whether Sunday is included in this schedule window.
                                thursday:
                                  type: boolean
                                  description: Whether Thursday is included in this schedule window.
                                tuesday:
                                  type: boolean
                                  description: Whether Tuesday is included in this schedule window.
                                wednesday:
                                  type: boolean
                                  description: Whether Wednesday is included in this schedule window.
                              required:
                                - friday
                                - monday
                                - saturday
                                - sunday
                                - thursday
                                - tuesday
                                - wednesday
                              additionalProperties: false
                              description: Weekdays this time window applies to.
                            hours:
                              type: object
                              properties:
                                from:
                                  type: string
                                  description: Opening time in 24-hour "HH:mm" format.
                                to:
                                  type: string
                                  description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                              required:
                                - from
                                - to
                              additionalProperties: false
                              description: Open hours for the selected weekdays.
                          required:
                            - days
                            - hours
                          additionalProperties: false
                        description: Weekly availability windows for public bookers.
                    required:
                      - closedDays
                      - enabled
                      - items
                    additionalProperties: false
                    description: Public availability schedule.
                required:
                  - default
                  - enabled
                  - public
                additionalProperties: false
              tapkeyGroupRef:
                description: Tapkey access group reference.
                nullable: true
                type: string
                format: uuid
              title:
                type: string
                description: Display name of the resource.
              type:
                type: string
                enum:
                  - dedicatedDesk
                  - equipment
                  - hotDesk
                  - office
                  - parkingLot
                  - room
                  - station
                  - conferenceRoom
                  - eventSpace
                  - meetingRoom
                  - phoneBooth
                  - studio
                description: Type of the resource.
              unifiAccessGroupRef:
                description: UniFi Access policy reference.
                nullable: true
                type: string
              visibility:
                type: string
                enum:
                  - admins
                  - exclusiveMembers
                  - members
                  - networkMembers
                  - public
                description: Visibility of the resource.
            required:
              - assignments
              - bookingPermission
              - bookingUnit
              - bookingWindow
              - bufferTime
              - children
              - confirmationEmail
              - createDate
              - credits
              - description
              - duration
              - dynamicPricing
              - id
              - locale
              - locationRef
              - media
              - money
              - networkRef
              - preparationMinutes
              - pricingRules
              - refundThreshold
              - title
              - type
              - visibility
          description: List of resources.
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - resources
      additionalProperties: false
    getResource:
      type: object
      properties:
        resource:
          type: object
          additionalProperties: false
          description: The resource.
          properties:
            assignments:
              type: array
              items:
                type: object
                properties:
                  company:
                    deprecated: true
                    description: Deprecated. Use customer instead. Company assigned to the resource.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Company id.
                      title:
                        description: Company name. Present only for admin callers and the customer's own assignments.
                        type: string
                    required:
                      - id
                    additionalProperties: false
                  customer:
                    description: Customer the resource is assigned to.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Customer id.
                      title:
                        description: Company name when the customer is a company.
                        type: string
                      type:
                        type: string
                        enum:
                          - user
                          - company
                        description: Whether the customer is a user or company.
                      user:
                        description: User details when the customer is a user.
                        type: object
                        properties:
                          email:
                            description: User email.
                            nullable: true
                            type: string
                          id:
                            type: string
                            format: uuid
                            description: User id.
                          name:
                            description: User first name.
                            nullable: true
                            type: string
                          surname:
                            description: User last name.
                            nullable: true
                            type: string
                        required:
                          - id
                        additionalProperties: false
                    required:
                      - id
                      - type
                    additionalProperties: false
                  endDate:
                    description: ISO timestamp when the assignment ends.
                    type: string
                  entire:
                    type: boolean
                    description: Whether the assignment grants access to the entire resource.
                  id:
                    description: Assignment id.
                    type: string
                    format: uuid
                  membership:
                    deprecated: true
                    description: Deprecated. Use customer instead. Membership linked to the assignment.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Membership id.
                    required:
                      - id
                    additionalProperties: false
                  quantity:
                    description: Assigned quantity when the resource is partially assigned.
                    type: number
                  resource:
                    description: Resource the assignment belongs to. Present when assignments are listed on their own.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      imageUrl:
                        description: Resource image URL.
                        type: string
                      locationRef:
                        type: string
                        format: uuid
                        description: UUID of the location the resource belongs to.
                      title:
                        type: string
                        description: Resource title.
                      type:
                        type: string
                        description: Resource type.
                    required:
                      - id
                      - locationRef
                      - title
                      - type
                    additionalProperties: false
                  resourceRef:
                    type: string
                    format: uuid
                    description: UUID of the resource the assignment belongs to.
                  startDate:
                    type: string
                    description: ISO timestamp when the assignment starts.
                  subscription:
                    type: object
                    properties:
                      endDate:
                        description: ISO timestamp when the assignment ends.
                        type: string
                      id:
                        description: Subscription id. Absent for assignments created directly by an admin.
                        type: string
                        format: uuid
                      startDate:
                        type: string
                        description: ISO timestamp when the assignment starts.
                    required:
                      - startDate
                    additionalProperties: false
                    description: Deprecated. Use startDate and endDate instead. Subscription backing this assignment.
                  user:
                    deprecated: true
                    description: Deprecated. Use customer instead. User assigned to the resource.
                    type: object
                    properties:
                      email:
                        description: User email.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User id.
                      name:
                        description: User first name.
                        nullable: true
                        type: string
                      surname:
                        description: User last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - entire
                  - resourceRef
                  - startDate
                  - subscription
                additionalProperties: false
              description: Active resource assignments.
            autoRelease:
              description: Auto-release settings for no-show bookings.
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether auto-release is enabled.
                interval:
                  type: string
                  enum:
                    - fiveMinutes
                    - tenMinutes
                    - fifteenMinutes
                  description: Minutes after start or creation before the slot is released.
              required:
                - enabled
                - interval
              additionalProperties: false
            avigilonAltaGroupRef:
              description: Avigilon Alta access group reference.
              nullable: true
              type: number
            bookingPermission:
              type: string
              enum:
                - admins
                - exclusiveMembers
                - members
                - networkMembers
                - public
              description: Who can create bookings on this resource.
            bookingStepMinutes:
              description: Booking step size in minutes.
              type: number
            bookingUnit:
              type: string
              enum:
                - hour
                - day
              description: Whether bookings are measured in hours or in whole days.
            bookingWindow:
              type: object
              properties:
                bookAhead:
                  description: How far ahead users can book the resource.
                  type: string
                  enum:
                    - oneDay
                    - twoDays
                    - oneWeek
                    - twoWeeks
                    - oneMonth
                    - threeMonths
                    - sixMonths
                    - oneYear
                    - unlimited
                enabled:
                  type: boolean
                  description: Whether the resource uses this booking window instead of the one its location sets for the resource type.
                minNotice:
                  description: How many minutes before it starts a booking of the resource has to be made.
                  type: integer
                  minimum: 0
                  maximum: 43200
              required:
                - enabled
              additionalProperties: false
              description: How soon and how far ahead users can book this resource. While enabled is false, the resource follows the booking window its location sets for the resource type.
            brivoGroupRef:
              description: Brivo access group reference.
              nullable: true
              type: number
            bufferTime:
              type: string
              enum:
                - zeroMinutes
                - fiveMinutes
                - tenMinutes
                - fifteenMinutes
                - thirtyMinutes
                - sixtyMinutes
              description: Buffer time blocked before each booking.
            capacity:
              description: Maximum capacity per booking.
              nullable: true
              type: number
            checkIn:
              description: Check-in settings.
              type: object
              properties:
                interval:
                  type: string
                  enum:
                    - zeroMinutes
                    - fiveMinutes
                    - tenMinutes
                    - fifteenMinutes
                  description: How early before start the guest must check in.
              required:
                - interval
              additionalProperties: false
            children:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Id of the child resource.
                  title:
                    type: string
                    description: Title of the child resource.
                required:
                  - id
                  - title
                additionalProperties: false
              description: Child resources when this is a parent resource. Bookings on a child resource also block the parent.
            confirmationEmail:
              type: object
              properties:
                bookingCreatedByAdmin:
                  type: boolean
                  description: Send confirmation when an admin creates a booking.
                bookingCreatedByMember:
                  type: boolean
                  description: Send confirmation when a member creates a booking.
                bookingCreatedByNetworkMember:
                  type: boolean
                  description: Send confirmation when a network member creates a booking.
                bookingCreatedByPublic:
                  type: boolean
                  description: Send confirmation when a public user creates a booking.
                template:
                  type: string
                  description: Email template id for confirmation emails.
              required:
                - bookingCreatedByAdmin
                - bookingCreatedByMember
                - bookingCreatedByNetworkMember
                - bookingCreatedByPublic
                - template
              additionalProperties: false
              description: Confirmation email settings.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the resource was created.
            credits:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether customers can pay with location credits.
                tiers:
                  type: array
                  items:
                    type: object
                    properties:
                      flatAmount:
                        type: number
                        description: Fixed fee added once to bookings in this tier.
                      from:
                        type: number
                        description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                      unit:
                        type: string
                        enum:
                          - hour
                          - day
                        description: Whether the tier is priced per hour or per day.
                      unitAmount:
                        type: number
                        description: Price per unit of booking time within this tier, never per minute.
                    required:
                      - flatAmount
                      - from
                      - unit
                      - unitAmount
                    additionalProperties: false
                  description: Stepped credit pricing tiers.
              required:
                - enabled
                - tiers
              additionalProperties: false
              description: Credit pricing settings.
            dayPassesEnabled:
              description: Whether members can book this resource with day passes. Only hotDesk resources support day passes.
              type: boolean
            description:
              type: string
              description: Description of the resource.
            duration:
              type: object
              properties:
                max:
                  type: number
                  description: Maximum booking duration in minutes.
                min:
                  type: number
                  description: Minimum booking duration in minutes.
                public:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Whether public bookers have separate duration limits.
                    max:
                      type: number
                      description: Maximum booking duration in minutes for public bookers.
                    min:
                      type: number
                      description: Minimum booking duration in minutes for public bookers.
                  required:
                    - enabled
                    - max
                    - min
                  additionalProperties: false
                  description: Duration limits for public bookers.
              required:
                - max
                - min
                - public
              additionalProperties: false
              description: Booking duration bounds.
            dynamicPricing:
              type: object
              properties:
                deltaAbove:
                  type: number
                  description: Maximum price increase percentage when demand is high.
                deltaBelow:
                  type: number
                  description: Maximum price decrease percentage when demand is low.
                enabled:
                  type: boolean
                  description: Whether dynamic pricing is enabled.
              required:
                - deltaAbove
                - deltaBelow
                - enabled
              additionalProperties: false
              description: Dynamic pricing settings.
            googleCalendar:
              description: Google Calendar integration settings.
              type: object
              properties:
                id:
                  type: string
                  description: Google Calendar id.
                twoWaySyncEnabled:
                  type: boolean
                  description: Whether two-way sync is enabled.
              required:
                - id
                - twoWaySyncEnabled
              additionalProperties: false
            id:
              type: string
              format: uuid
              description: Unique identifier of the resource.
            imageUrl:
              description: Public URL of the resource's cover, the first image in media.
              type: string
            kisiGroupRef:
              description: Kisi access group reference.
              nullable: true
              type: number
            locale:
              type: string
              description: Auto-detected language of the description.
            locationRef:
              type: string
              format: uuid
              description: ID of the location.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the image.
                  url:
                    description: Public URL of the image.
                    type: string
                required:
                  - key
                additionalProperties: false
              description: Images of the resource in display order, the first one being its cover.
            money:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether customers can pay with money.
                tiers:
                  type: array
                  items:
                    type: object
                    properties:
                      flatAmount:
                        type: number
                        description: Fixed fee added once to bookings in this tier.
                      from:
                        type: number
                        description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                      unit:
                        type: string
                        enum:
                          - hour
                          - day
                        description: Whether the tier is priced per hour or per day.
                      unitAmount:
                        type: number
                        description: Price per unit of booking time within this tier, never per minute.
                    required:
                      - flatAmount
                      - from
                      - unit
                      - unitAmount
                    additionalProperties: false
                  description: Stepped money pricing tiers.
              required:
                - enabled
                - tiers
              additionalProperties: false
              description: Money pricing settings.
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            outlookCalendar:
              description: Outlook Calendar integration settings.
              type: object
              properties:
                id:
                  type: string
                  description: Outlook calendar id.
                twoWaySyncEnabled:
                  type: boolean
                  description: Whether two-way sync is enabled.
              required:
                - id
                - twoWaySyncEnabled
              additionalProperties: false
            parentRef:
              description: Parent resource id when this is a child resource.
              type: string
              format: uuid
            plans:
              description: Plan tiers configured on the resource.
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether plan-based access is enabled.
                tiers:
                  type: array
                  items:
                    type: object
                    properties:
                      addons:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Addon id.
                          required:
                            - id
                          additionalProperties: false
                        description: Addons included in the tier.
                      commitmentCycles:
                        type: number
                        description: Number of billing cycles in the tier.
                      credits:
                        type: number
                        description: Credits included in the tier.
                      dayPasses:
                        description: Day passes included in the tier.
                        type: number
                      description:
                        description: Description of the tier.
                        type: string
                      discounts:
                        deprecated: true
                        description: Synthetic discount percentages by product type.
                        type: object
                        properties:
                          creditPackages:
                            description: Discount percentage for credit packages.
                            type: number
                          desks:
                            description: Discount percentage for desk bookings.
                            type: number
                          equipment:
                            description: Discount percentage for equipment bookings.
                            type: number
                          events:
                            description: Discount percentage for events.
                            type: number
                          rooms:
                            description: Discount percentage for room bookings.
                            type: number
                          shop:
                            description: Discount percentage for shop products.
                            type: number
                        additionalProperties: false
                      entire:
                        type: boolean
                        description: Whether the tier grants access to the entire resource.
                      grantedDiscounts:
                        type: array
                        items:
                          type: object
                          properties:
                            coupon:
                              type: object
                              properties:
                                amountOff:
                                  description: Fixed discount amount.
                                  type: number
                                currencyCode:
                                  description: Currency code for amountOff.
                                  type: string
                                enabledForCredits:
                                  description: Whether the coupon applies to credit purchases.
                                  type: boolean
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the coupon.
                                limitedItems:
                                  description: Item-level redemption limits.
                                  type: object
                                  properties:
                                    enabled:
                                      type: boolean
                                      description: Whether item-level limits are enabled.
                                    values:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          id:
                                            type: string
                                            format: uuid
                                            description: Unique identifier of the limited item.
                                          title:
                                            description: Display name of the limited item.
                                            type: string
                                          type:
                                            type: string
                                            enum:
                                              - roomBookings
                                              - eventSpaceBookings
                                              - conferenceRoomBookings
                                              - meetingRoomBookings
                                              - phoneBoothBookings
                                              - stationBookings
                                              - studioBookings
                                              - hotDeskBookings
                                              - dedicatedDeskBookings
                                              - officeBookings
                                              - parkingBookings
                                              - equipmentBookings
                                              - eventTickets
                                              - shopProducts
                                              - packages
                                              - subscriptionItems
                                            description: Product type of the limited item.
                                        required:
                                          - id
                                          - type
                                        additionalProperties: false
                                        description: Product or package the coupon is limited to.
                                      description: Items the coupon applies to when limits are enabled.
                                  required:
                                    - enabled
                                    - values
                                  additionalProperties: false
                                limitedRedemption:
                                  description: Redemption limits for the coupon.
                                  type: object
                                  properties:
                                    enabled:
                                      type: boolean
                                      description: Whether redemption limits are enabled.
                                    usage:
                                      type: number
                                      description: Current redemption count.
                                    value:
                                      type: number
                                      description: Maximum redemption count.
                                  required:
                                    - enabled
                                    - usage
                                    - value
                                  additionalProperties: false
                                percentOff:
                                  description: Percentage discount.
                                  type: number
                                productTypes:
                                  description: Product types the coupon applies to.
                                  type: array
                                  items:
                                    type: string
                                    enum:
                                      - roomBookings
                                      - eventSpaceBookings
                                      - conferenceRoomBookings
                                      - meetingRoomBookings
                                      - phoneBoothBookings
                                      - stationBookings
                                      - studioBookings
                                      - hotDeskBookings
                                      - dedicatedDeskBookings
                                      - officeBookings
                                      - parkingBookings
                                      - equipmentBookings
                                      - eventTickets
                                      - shopProducts
                                      - packages
                                      - subscriptionItems
                              required:
                                - id
                              additionalProperties: false
                              description: Granted coupon details.
                          required:
                            - coupon
                          additionalProperties: false
                        description: Coupons granted to members on this tier.
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the tier.
                      period:
                        type: string
                        enum:
                          - day
                          - week
                          - month
                          - threeMonths
                          - sixMonths
                          - year
                        description: Billing period of the tier.
                      plan:
                        type: object
                        properties:
                          commitmentCycles:
                            type: number
                            description: Number of billing cycles in the tier.
                          credits:
                            type: number
                            description: Credits included in the tier.
                          dayPasses:
                            type: number
                            description: Day passes included in the tier.
                          discounts:
                            deprecated: true
                            description: Synthetic discount percentages by product type.
                            type: object
                            properties:
                              creditPackages:
                                description: Discount percentage for credit packages.
                                type: number
                              desks:
                                description: Discount percentage for desk bookings.
                                type: number
                              equipment:
                                description: Discount percentage for equipment bookings.
                                type: number
                              events:
                                description: Discount percentage for events.
                                type: number
                              rooms:
                                description: Discount percentage for room bookings.
                                type: number
                              shop:
                                description: Discount percentage for shop products.
                                type: number
                            additionalProperties: false
                          grantedDiscounts:
                            type: array
                            items:
                              type: object
                              properties:
                                coupon:
                                  type: object
                                  properties:
                                    amountOff:
                                      description: Fixed discount amount.
                                      type: number
                                    currencyCode:
                                      description: Currency code for amountOff.
                                      type: string
                                    enabledForCredits:
                                      description: Whether the coupon applies to credit purchases.
                                      type: boolean
                                    id:
                                      type: string
                                      format: uuid
                                      description: Unique identifier of the coupon.
                                    limitedItems:
                                      description: Item-level redemption limits.
                                      type: object
                                      properties:
                                        enabled:
                                          type: boolean
                                          description: Whether item-level limits are enabled.
                                        values:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              id:
                                                type: string
                                                format: uuid
                                                description: Unique identifier of the limited item.
                                              title:
                                                description: Display name of the limited item.
                                                type: string
                                              type:
                                                type: string
                                                enum:
                                                  - roomBookings
                                                  - eventSpaceBookings
                                                  - conferenceRoomBookings
                                                  - meetingRoomBookings
                                                  - phoneBoothBookings
                                                  - stationBookings
                                                  - studioBookings
                                                  - hotDeskBookings
                                                  - dedicatedDeskBookings
                                                  - officeBookings
                                                  - parkingBookings
                                                  - equipmentBookings
                                                  - eventTickets
                                                  - shopProducts
                                                  - packages
                                                  - subscriptionItems
                                                description: Product type of the limited item.
                                            required:
                                              - id
                                              - type
                                            additionalProperties: false
                                            description: Product or package the coupon is limited to.
                                          description: Items the coupon applies to when limits are enabled.
                                      required:
                                        - enabled
                                        - values
                                      additionalProperties: false
                                    limitedRedemption:
                                      description: Redemption limits for the coupon.
                                      type: object
                                      properties:
                                        enabled:
                                          type: boolean
                                          description: Whether redemption limits are enabled.
                                        usage:
                                          type: number
                                          description: Current redemption count.
                                        value:
                                          type: number
                                          description: Maximum redemption count.
                                      required:
                                        - enabled
                                        - usage
                                        - value
                                      additionalProperties: false
                                    percentOff:
                                      description: Percentage discount.
                                      type: number
                                    productTypes:
                                      description: Product types the coupon applies to.
                                      type: array
                                      items:
                                        type: string
                                        enum:
                                          - roomBookings
                                          - eventSpaceBookings
                                          - conferenceRoomBookings
                                          - meetingRoomBookings
                                          - phoneBoothBookings
                                          - stationBookings
                                          - studioBookings
                                          - hotDeskBookings
                                          - dedicatedDeskBookings
                                          - officeBookings
                                          - parkingBookings
                                          - equipmentBookings
                                          - eventTickets
                                          - shopProducts
                                          - packages
                                          - subscriptionItems
                                  required:
                                    - id
                                  additionalProperties: false
                                  description: Granted coupon details.
                              required:
                                - coupon
                              additionalProperties: false
                            description: Coupons granted to members on this tier.
                          id:
                            type: string
                            format: uuid
                            description: Unique identifier of the tier.
                          period:
                            type: string
                            enum:
                              - day
                              - week
                              - month
                              - threeMonths
                              - sixMonths
                              - year
                            description: Billing period of the tier.
                          price:
                            type: number
                            description: Price of the tier.
                          title:
                            type: string
                            description: Title of the tier.
                        required:
                          - commitmentCycles
                          - credits
                          - dayPasses
                          - grantedDiscounts
                          - id
                          - period
                          - price
                          - title
                        additionalProperties: false
                        description: Nested plan details on responses.
                      price:
                        type: number
                        description: Price of the tier.
                      selfSignup:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                            description: Whether members may self-enroll into the tier.
                          type:
                            type: string
                            description: Self sign-up flow type for the tier.
                        required:
                          - enabled
                          - type
                        additionalProperties: false
                        description: Self sign-up settings of the tier.
                      selfSignupType:
                        deprecated: true
                        description: Deprecated. Use selfSignup.type instead. Self sign-up flow type for the tier.
                        type: string
                      setupFee:
                        type: number
                        description: One-time setup fee for the tier.
                      title:
                        type: string
                        description: Title of the tier.
                    required:
                      - addons
                      - commitmentCycles
                      - credits
                      - entire
                      - grantedDiscounts
                      - id
                      - period
                      - plan
                      - price
                      - selfSignup
                      - setupFee
                      - title
                    additionalProperties: false
                  description: Plan tiers configured on the resource.
              required:
                - enabled
                - tiers
              additionalProperties: false
            preparationMinutes:
              type: string
              enum:
                - zeroMinutes
                - fiveMinutes
                - tenMinutes
                - fifteenMinutes
                - thirtyMinutes
                - sixtyMinutes
              description: Deprecated. Use bufferTime instead.
              deprecated: true
            pricingRules:
              type: array
              items:
                type: object
                properties:
                  credits:
                    description: Credit prices on the selected days. When omitted, the regular credit tiers apply on them.
                    type: object
                    properties:
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unit:
                              type: string
                              enum:
                                - hour
                                - day
                              description: Whether the tier is priced per hour or per day.
                            unitAmount:
                              type: number
                              description: Price per unit of booking time within this tier, never per minute.
                          required:
                            - flatAmount
                            - from
                            - unit
                            - unitAmount
                          additionalProperties: false
                        description: Stepped credit pricing tiers for the selected days.
                    required:
                      - tiers
                    additionalProperties: false
                  days:
                    type: object
                    properties:
                      friday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Friday.
                      monday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Monday.
                      saturday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Saturday.
                      sunday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Sunday.
                      thursday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Thursday.
                      tuesday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Tuesday.
                      wednesday:
                        type: boolean
                        description: Whether the rule applies to bookings starting on a Wednesday.
                    required:
                      - friday
                      - monday
                      - saturday
                      - sunday
                      - thursday
                      - tuesday
                      - wednesday
                    additionalProperties: false
                    description: Weekdays, in the location's time zone, on which a booking that starts gets these prices.
                  money:
                    description: Money prices on the selected days. When omitted, the regular money tiers apply on them.
                    type: object
                    properties:
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unit:
                              type: string
                              enum:
                                - hour
                                - day
                              description: Whether the tier is priced per hour or per day.
                            unitAmount:
                              type: number
                              description: Price per unit of booking time within this tier, never per minute.
                          required:
                            - flatAmount
                            - from
                            - unit
                            - unitAmount
                          additionalProperties: false
                        description: Stepped money pricing tiers for the selected days.
                    required:
                      - tiers
                    additionalProperties: false
                required:
                  - days
                additionalProperties: false
              description: Prices that replace the regular money and credit tiers for bookings starting on the selected weekdays. A booking is priced by the rule covering the weekday of its start in the location's time zone, and by the regular tiers when no rule covers it.
            refundThreshold:
              type: string
              enum:
                - noRefund
                - zeroMinutes
                - fifteenMinutes
                - thirtyMinutes
                - oneHour
                - twoHours
                - fourHours
                - sixHours
                - twelveHours
                - oneDay
                - twoDays
                - oneWeek
                - twoWeeks
                - fourWeeks
              description: Refund threshold for cancellations.
            saltoksAccessGroupRef:
              description: Salto KS access group reference.
              nullable: true
              type: string
              format: uuid
            schedule:
              description: Availability schedule.
              type: object
              properties:
                default:
                  type: object
                  properties:
                    closedDays:
                      type: array
                      items:
                        type: string
                      description: Dates in MM-DD format when the resource is closed.
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          days:
                            type: object
                            properties:
                              friday:
                                type: boolean
                                description: Whether Friday is included in this schedule window.
                              monday:
                                type: boolean
                                description: Whether Monday is included in this schedule window.
                              saturday:
                                type: boolean
                                description: Whether Saturday is included in this schedule window.
                              sunday:
                                type: boolean
                                description: Whether Sunday is included in this schedule window.
                              thursday:
                                type: boolean
                                description: Whether Thursday is included in this schedule window.
                              tuesday:
                                type: boolean
                                description: Whether Tuesday is included in this schedule window.
                              wednesday:
                                type: boolean
                                description: Whether Wednesday is included in this schedule window.
                            required:
                              - friday
                              - monday
                              - saturday
                              - sunday
                              - thursday
                              - tuesday
                              - wednesday
                            additionalProperties: false
                            description: Weekdays this time window applies to.
                          hours:
                            type: object
                            properties:
                              from:
                                type: string
                                description: Opening time in 24-hour "HH:mm" format.
                              to:
                                type: string
                                description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                            required:
                              - from
                              - to
                            additionalProperties: false
                            description: Open hours for the selected weekdays.
                        required:
                          - days
                          - hours
                        additionalProperties: false
                      description: Weekly availability windows for members.
                  required:
                    - closedDays
                    - items
                  additionalProperties: false
                  description: Default availability schedule.
                enabled:
                  type: boolean
                  description: Whether scheduling is enabled.
                public:
                  type: object
                  properties:
                    closedDays:
                      type: array
                      items:
                        type: string
                      description: Dates in MM-DD format when the resource is closed for public bookers.
                    enabled:
                      type: boolean
                      description: Whether the public schedule is enabled.
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          days:
                            type: object
                            properties:
                              friday:
                                type: boolean
                                description: Whether Friday is included in this schedule window.
                              monday:
                                type: boolean
                                description: Whether Monday is included in this schedule window.
                              saturday:
                                type: boolean
                                description: Whether Saturday is included in this schedule window.
                              sunday:
                                type: boolean
                                description: Whether Sunday is included in this schedule window.
                              thursday:
                                type: boolean
                                description: Whether Thursday is included in this schedule window.
                              tuesday:
                                type: boolean
                                description: Whether Tuesday is included in this schedule window.
                              wednesday:
                                type: boolean
                                description: Whether Wednesday is included in this schedule window.
                            required:
                              - friday
                              - monday
                              - saturday
                              - sunday
                              - thursday
                              - tuesday
                              - wednesday
                            additionalProperties: false
                            description: Weekdays this time window applies to.
                          hours:
                            type: object
                            properties:
                              from:
                                type: string
                                description: Opening time in 24-hour "HH:mm" format.
                              to:
                                type: string
                                description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                            required:
                              - from
                              - to
                            additionalProperties: false
                            description: Open hours for the selected weekdays.
                        required:
                          - days
                          - hours
                        additionalProperties: false
                      description: Weekly availability windows for public bookers.
                  required:
                    - closedDays
                    - enabled
                    - items
                  additionalProperties: false
                  description: Public availability schedule.
              required:
                - default
                - enabled
                - public
              additionalProperties: false
            tapkeyGroupRef:
              description: Tapkey access group reference.
              nullable: true
              type: string
              format: uuid
            title:
              type: string
              description: Display name of the resource.
            type:
              type: string
              enum:
                - dedicatedDesk
                - equipment
                - hotDesk
                - office
                - parkingLot
                - room
                - station
                - conferenceRoom
                - eventSpace
                - meetingRoom
                - phoneBooth
                - studio
              description: Type of the resource.
            unifiAccessGroupRef:
              description: UniFi Access policy reference.
              nullable: true
              type: string
            visibility:
              type: string
              enum:
                - admins
                - exclusiveMembers
                - members
                - networkMembers
                - public
              description: Visibility of the resource.
          required:
            - assignments
            - bookingPermission
            - bookingUnit
            - bookingWindow
            - bufferTime
            - children
            - confirmationEmail
            - createDate
            - credits
            - description
            - duration
            - dynamicPricing
            - id
            - locale
            - locationRef
            - media
            - money
            - networkRef
            - preparationMinutes
            - pricingRules
            - refundThreshold
            - title
            - type
            - visibility
      required:
        - resource
      additionalProperties: false
    getAssignments:
      type: object
      properties:
        assignments:
          type: array
          items:
            type: object
            properties:
              company:
                deprecated: true
                description: Deprecated. Use customer instead. Company assigned to the resource.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  title:
                    description: Company name. Present only for admin callers and the customer's own assignments.
                    type: string
                required:
                  - id
                additionalProperties: false
              customer:
                description: Customer the resource is assigned to.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Customer id.
                  title:
                    description: Company name when the customer is a company.
                    type: string
                  type:
                    type: string
                    enum:
                      - user
                      - company
                    description: Whether the customer is a user or company.
                  user:
                    description: User details when the customer is a user.
                    type: object
                    properties:
                      email:
                        description: User email.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: User id.
                      name:
                        description: User first name.
                        nullable: true
                        type: string
                      surname:
                        description: User last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
              endDate:
                description: ISO timestamp when the assignment ends.
                type: string
              entire:
                type: boolean
                description: Whether the assignment grants access to the entire resource.
              id:
                description: Assignment id.
                type: string
                format: uuid
              membership:
                deprecated: true
                description: Deprecated. Use customer instead. Membership linked to the assignment.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Membership id.
                required:
                  - id
                additionalProperties: false
              quantity:
                description: Assigned quantity when the resource is partially assigned.
                type: number
              resource:
                description: Resource the assignment belongs to. Present when assignments are listed on their own.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Resource id.
                  imageUrl:
                    description: Resource image URL.
                    type: string
                  locationRef:
                    type: string
                    format: uuid
                    description: UUID of the location the resource belongs to.
                  title:
                    type: string
                    description: Resource title.
                  type:
                    type: string
                    description: Resource type.
                required:
                  - id
                  - locationRef
                  - title
                  - type
                additionalProperties: false
              resourceRef:
                type: string
                format: uuid
                description: UUID of the resource the assignment belongs to.
              startDate:
                type: string
                description: ISO timestamp when the assignment starts.
              subscription:
                type: object
                properties:
                  endDate:
                    description: ISO timestamp when the assignment ends.
                    type: string
                  id:
                    description: Subscription id. Absent for assignments created directly by an admin.
                    type: string
                    format: uuid
                  startDate:
                    type: string
                    description: ISO timestamp when the assignment starts.
                required:
                  - startDate
                additionalProperties: false
                description: Deprecated. Use startDate and endDate instead. Subscription backing this assignment.
              user:
                deprecated: true
                description: Deprecated. Use customer instead. User assigned to the resource.
                type: object
                properties:
                  email:
                    description: User email.
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: User id.
                  name:
                    description: User first name.
                    nullable: true
                    type: string
                  surname:
                    description: User last name.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
            required:
              - entire
              - resourceRef
              - startDate
              - subscription
            additionalProperties: false
          description: List of resource assignments in the location.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - assignments
      additionalProperties: false
    createAssignment:
      type: object
      properties:
        assignment:
          type: object
          properties:
            company:
              deprecated: true
              description: Deprecated. Use customer instead. Company assigned to the resource.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Company id.
                title:
                  description: Company name. Present only for admin callers and the customer's own assignments.
                  type: string
              required:
                - id
              additionalProperties: false
            customer:
              description: Customer the resource is assigned to.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Customer id.
                title:
                  description: Company name when the customer is a company.
                  type: string
                type:
                  type: string
                  enum:
                    - user
                    - company
                  description: Whether the customer is a user or company.
                user:
                  description: User details when the customer is a user.
                  type: object
                  properties:
                    email:
                      description: User email.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: User id.
                    name:
                      description: User first name.
                      nullable: true
                      type: string
                    surname:
                      description: User last name.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
            endDate:
              description: ISO timestamp when the assignment ends.
              type: string
            entire:
              type: boolean
              description: Whether the assignment grants access to the entire resource.
            id:
              description: Assignment id.
              type: string
              format: uuid
            membership:
              deprecated: true
              description: Deprecated. Use customer instead. Membership linked to the assignment.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Membership id.
              required:
                - id
              additionalProperties: false
            quantity:
              description: Assigned quantity when the resource is partially assigned.
              type: number
            resource:
              description: Resource the assignment belongs to. Present when assignments are listed on their own.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Resource id.
                imageUrl:
                  description: Resource image URL.
                  type: string
                locationRef:
                  type: string
                  format: uuid
                  description: UUID of the location the resource belongs to.
                title:
                  type: string
                  description: Resource title.
                type:
                  type: string
                  description: Resource type.
              required:
                - id
                - locationRef
                - title
                - type
              additionalProperties: false
            resourceRef:
              type: string
              format: uuid
              description: UUID of the resource the assignment belongs to.
            startDate:
              type: string
              description: ISO timestamp when the assignment starts.
            subscription:
              type: object
              properties:
                endDate:
                  description: ISO timestamp when the assignment ends.
                  type: string
                id:
                  description: Subscription id. Absent for assignments created directly by an admin.
                  type: string
                  format: uuid
                startDate:
                  type: string
                  description: ISO timestamp when the assignment starts.
              required:
                - startDate
              additionalProperties: false
              description: Deprecated. Use startDate and endDate instead. Subscription backing this assignment.
            user:
              deprecated: true
              description: Deprecated. Use customer instead. User assigned to the resource.
              type: object
              properties:
                email:
                  description: User email.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: User id.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - entire
            - resourceRef
            - startDate
            - subscription
          additionalProperties: false
          description: The created assignment.
      required:
        - assignment
      additionalProperties: false
    createResourceMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file. Add it to media when creating or updating a resource.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
              description: MIME type of the image file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the image file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a resource. attached: a resource references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    getResourceAvailability:
      type: object
      properties:
        available:
          type: boolean
          description: Whether the resource can be booked for the requested slot.
        reason:
          description: The first rule the slot breaks. Present only when available is false.
          type: object
          properties:
            code:
              type: string
              description: The error code the booking would fail with, e.g. `bookingConflict` or `bookingScheduleConflict`.
            message:
              type: string
              description: The human-readable explanation of why the slot is unavailable.
          required:
            - code
            - message
          additionalProperties: false
      required:
        - available
      additionalProperties: false
    getBookings:
      type: object
      properties:
        bookings:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              attendees:
                type: array
                items:
                  type: object
                  additionalProperties: false
                  properties:
                    membershipRef:
                      description: Membership id of the attendee.
                      type: string
                      format: uuid
                    user:
                      description: User profile of the attendee.
                      type: object
                      properties:
                        about:
                          description: Short bio of the user.
                          nullable: true
                          type: string
                        company:
                          description: Company the user belongs to, if any.
                          nullable: true
                          type: object
                          properties:
                            title:
                              type: string
                              description: Company display name.
                          required:
                            - title
                          additionalProperties: false
                        email:
                          description: Email address of the user.
                          nullable: true
                          type: string
                          format: email
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the user.
                        name:
                          description: First name of the user.
                          nullable: true
                          type: string
                        phoneNumber:
                          description: Phone number of the user.
                          nullable: true
                          type: string
                        photoUrl:
                          description: Profile photo URL of the user.
                          nullable: true
                          type: string
                        surname:
                          description: Last name of the user.
                          nullable: true
                          type: string
                      required:
                        - id
                      additionalProperties: false
                description: Attendees of the booking. Empty when the caller has no access to booking details.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp when the booking was created.
              customer:
                description: Customer the booking belongs to. Omitted when the caller has no access.
                type: object
                properties:
                  company:
                    description: Company the booking was made for, recorded when the owner was a member of a company at the time of the booking.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the company.
                      title:
                        type: string
                        description: Company name.
                    required:
                      - id
                      - title
                    additionalProperties: false
                  id:
                    type: string
                    format: uuid
                    description: Customer id of the booking owner.
                  user:
                    description: Profile of the booking owner. Omitted when the owner has restricted visibility.
                    type: object
                    properties:
                      about:
                        description: Short bio of the user.
                        nullable: true
                        type: string
                      company:
                        description: Company the user belongs to, if any.
                        nullable: true
                        type: object
                        properties:
                          title:
                            type: string
                            description: Company display name.
                        required:
                          - title
                        additionalProperties: false
                      email:
                        description: Email address of the user.
                        nullable: true
                        type: string
                        format: email
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the user.
                      name:
                        description: First name of the user.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number of the user.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL of the user.
                        nullable: true
                        type: string
                      surname:
                        description: Last name of the user.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                additionalProperties: false
              deleteDate:
                description: ISO timestamp when the booking was cancelled.
                type: string
                format: date-time
              endDate:
                type: string
                format: date-time
                description: ISO timestamp when the booking ends.
              entire:
                description: Whether the booking reserves the entire resource rather than individual seats.
                type: boolean
              id:
                type: string
                description: Unique identifier of the booking. For recurring occurrences, formatted as `{bookingId}_{isoDate}`.
              membershipRefOwner:
                deprecated: true
                description: Deprecated. Use `customer.id` instead. Customer id of the booking owner. Omitted when the caller has no access.
                type: string
                format: uuid
              memo:
                description: Note attached to the booking. Visible to the booking owner and to admins.
                type: string
              metadata:
                type: object
                additionalProperties: {}
                description: Key-value data attached to the booking. Values cannot be objects or arrays. Available only for admins.
              payment:
                deprecated: true
                description: Deprecated. Use `payments` instead.
                type: object
                properties:
                  createDate:
                    description: ISO timestamp of when the payment was made.
                    type: string
                    format: date-time
                  discounts:
                    description: Discounts applied to the price. Omitted when none applied.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount, in the coupon's currency.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              description: Coupon id.
                              type: string
                            percentOff:
                              description: Percentage discount amount.
                              type: number
                            productTypes:
                              description: Product types this coupon applies to.
                              type: array
                              items:
                                type: string
                            type:
                              description: Coupon type.
                              type: string
                          additionalProperties: false
                          description: Applied coupon.
                        promocode:
                          description: Applied promocode.
                          type: object
                          properties:
                            code:
                              type: string
                              description: Promocode string, the way a purchase references the promocode back.
                            expiration:
                              description: Promocode expiration.
                              type: object
                              properties:
                                date:
                                  description: ISO timestamp of when the promocode expires.
                                  type: string
                                enabled:
                                  type: boolean
                                  description: Whether the promocode expires.
                              required:
                                - enabled
                              additionalProperties: false
                            id:
                              type: string
                              description: Promocode id.
                            limitByFirstPurchase:
                              description: Whether the promocode is limited to a first purchase.
                              type: boolean
                          required:
                            - code
                            - id
                          additionalProperties: false
                        subscriptionId:
                          description: Subscription the discount was granted by.
                          type: string
                      required:
                        - coupon
                      additionalProperties: false
                      description: Discount recorded on a settled payment.
                  dispute:
                    description: Chargeback dispute raised against the payment, if any.
                    type: object
                    properties:
                      createDate:
                        description: ISO timestamp of when the dispute was opened.
                        type: string
                        format: date-time
                    additionalProperties: false
                  method:
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer whose credits were spent.
                        required:
                          - customer
                        additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer whose day passes were spent.
                        required:
                          - customer
                        additionalProperties: false
                      external:
                        description: Set when `type` is `external`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer who paid outside of Spacebring.
                        required:
                          - customer
                        additionalProperties: false
                      invoice:
                        description: Set when `type` is `invoice`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer the booking was invoiced to.
                          invoiceItemRef:
                            description: ID of the invoice item the booking was billed on.
                            type: string
                          invoiceRef:
                            description: Invoice the invoice item was added to. Not set while the item is pending.
                            type: string
                            format: uuid
                          subscriptionRef:
                            description: Subscription the invoice item belongs to.
                            type: string
                            format: uuid
                        required:
                          - customer
                        additionalProperties: false
                      paymentGateway:
                        description: Set when `type` is `paymentGateway`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer who was charged.
                          gateway:
                            description: Payment gateway that processed the charge.
                            type: string
                            enum:
                              - authorizenet
                              - flow
                              - fondy
                              - freedompay
                              - hyperpay
                              - kakaopay
                              - maya
                              - mercadopago
                              - mollie
                              - paypal
                              - paystack
                              - payway
                              - plata
                              - stripe
                              - tap
                              - wayforpay
                              - xendit
                          label:
                            description: Saved payment method label, e.g. `Visa •••• 4242`.
                            type: string
                          mask:
                            description: Masked payment method identifier.
                            type: string
                          title:
                            description: Display name of the payment gateway, e.g. `Stripe`.
                            type: string
                        required:
                          - customer
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - external
                          - invoice
                          - paymentGateway
                        description: How the booking was paid for. The matching property below carries the details.
                    required:
                      - type
                    additionalProperties: false
                    description: How the booking was paid for, and by whom.
                  price:
                    description: What the booking was charged.
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: object
                        properties:
                          expiringAmount:
                            description: Expiring credits charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          permanentAmount:
                            description: Permanent credits charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          totalAmount:
                            type: number
                            description: Total credits charged.
                        required:
                          - totalAmount
                        additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: object
                        properties:
                          expiringAmount:
                            description: Expiring day passes charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          permanentAmount:
                            description: Permanent day passes charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          totalAmount:
                            type: number
                            description: Total day passes charged.
                        required:
                          - totalAmount
                        additionalProperties: false
                      money:
                        description: Set when `type` is `money`.
                        type: object
                        properties:
                          currencyCode:
                            description: ISO 4217 currency code.
                            type: string
                          grossAmount:
                            type: number
                            description: Total amount charged, tax included.
                          taxIsInclusive:
                            description: Whether the resource price already contained the tax, rather than the tax being added on top of it. Together with `taxRate` it is what splits `grossAmount` into its net and tax parts. Omitted when the location charges no tax.
                            type: boolean
                          taxRate:
                            description: Tax rate applied, in percent. Omitted when the location charges no tax.
                            type: number
                        required:
                          - grossAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - money
                        description: What the booking was charged in.
                    required:
                      - type
                    additionalProperties: false
                  refundable:
                    description: Whether the payment can still be refunded. Omitted for `invoice` payments, where refundability depends on the invoice.
                    type: boolean
                  refunds:
                    description: Refunds made against the payment. Omitted when nothing was refunded.
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: array
                        items:
                          type: object
                          properties:
                            amountExpiring:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                            amountPermanent:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead.
                            amountTotal:
                              type: number
                              description: Total amount returned by this refund.
                            amounts:
                              description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                              type: array
                              items:
                                type: object
                                properties:
                                  amount:
                                    type: number
                                    description: Amount returned to this balance bucket.
                                  expirationDate:
                                    description: Expiration date of the expiring balance the amount was returned to.
                                    type: string
                                    format: date-time
                                  subscriptionRef:
                                    description: Subscription the expiring balance belongs to.
                                    type: string
                                    format: uuid
                                  type:
                                    type: string
                                    enum:
                                      - expiring
                                      - permanent
                                    description: Balance bucket type.
                                required:
                                  - amount
                                  - type
                                additionalProperties: false
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - amountExpiring
                            - amountPermanent
                            - amountTotal
                          additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: array
                        items:
                          type: object
                          properties:
                            amountExpiring:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                            amountPermanent:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead.
                            amountTotal:
                              type: number
                              description: Total amount returned by this refund.
                            amounts:
                              description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                              type: array
                              items:
                                type: object
                                properties:
                                  amount:
                                    type: number
                                    description: Amount returned to this balance bucket.
                                  expirationDate:
                                    description: Expiration date of the expiring balance the amount was returned to.
                                    type: string
                                    format: date-time
                                  subscriptionRef:
                                    description: Subscription the expiring balance belongs to.
                                    type: string
                                    format: uuid
                                  type:
                                    type: string
                                    enum:
                                      - expiring
                                      - permanent
                                    description: Balance bucket type.
                                required:
                                  - amount
                                  - type
                                additionalProperties: false
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - amountExpiring
                            - amountPermanent
                            - amountTotal
                          additionalProperties: false
                      money:
                        description: Set when `type` is `money`.
                        type: array
                        items:
                          type: object
                          properties:
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            currencyCode:
                              description: ISO 4217 currency code.
                              type: string
                            grossAmount:
                              type: number
                              description: Gross amount returned by this refund.
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - grossAmount
                          additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - money
                        description: What was refunded.
                    required:
                      - type
                    additionalProperties: false
                  request:
                    description: Set for a pending gateway payment the current user still has to complete.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Payment request id.
                      url:
                        type: string
                        description: Relative URL the payer opens to complete the payment.
                    required:
                      - id
                      - url
                    additionalProperties: false
                  scheduleDate:
                    description: ISO timestamp of when a scheduled payment will be charged.
                    type: string
                    format: date-time
                  status:
                    description: Payment status.
                    type: string
                    enum:
                      - succeeded
                      - failed
                      - pending
                      - processing
                      - canceled
                  surcharge:
                    description: Surcharge added on top of the price, if any.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          amount:
                            description: Surcharge amount.
                            type: number
                          currencyCode:
                            description: ISO 4217 currency code.
                            type: string
                          percentage:
                            description: Surcharge percentage applied.
                            type: number
                          rate:
                            description: Surcharge rate.
                            type: number
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                        description: Surcharge type.
                    required:
                      - money
                      - type
                    additionalProperties: false
                  transactionRef:
                    description: ID of the transaction the payment was recorded as.
                    type: string
                  transactionType:
                    description: Whether the transaction took the `price` from the payer or gave it back, as when a booking paid with credits or day passes is shortened. `price` is always positive, so a `refund` subtracts from what the booking cost.
                    type: string
                    enum:
                      - charge
                      - refund
                  type:
                    description: 'Shorthand for the payment method: the gateway slug for `paymentGateway` payments, otherwise `method.type`.'
                    type: string
                required:
                  - method
                additionalProperties: false
              payments:
                description: How the booking was paid for, oldest first. One entry per settling transaction, so a credits or day passes payment that was charged and later partly refunded lists each transaction separately. Omitted when the caller has no access.
                type: array
                items:
                  type: object
                  properties:
                    createDate:
                      description: ISO timestamp of when the payment was made.
                      type: string
                      format: date-time
                    discounts:
                      description: Discounts applied to the price. Omitted when none applied.
                      type: array
                      items:
                        type: object
                        properties:
                          coupon:
                            type: object
                            properties:
                              amountOff:
                                description: Fixed discount amount, in the coupon's currency.
                                type: number
                              currencyCode:
                                description: Currency code for amountOff.
                                type: string
                              id:
                                description: Coupon id.
                                type: string
                              percentOff:
                                description: Percentage discount amount.
                                type: number
                              productTypes:
                                description: Product types this coupon applies to.
                                type: array
                                items:
                                  type: string
                              type:
                                description: Coupon type.
                                type: string
                            additionalProperties: false
                            description: Applied coupon.
                          promocode:
                            description: Applied promocode.
                            type: object
                            properties:
                              code:
                                type: string
                                description: Promocode string, the way a purchase references the promocode back.
                              expiration:
                                description: Promocode expiration.
                                type: object
                                properties:
                                  date:
                                    description: ISO timestamp of when the promocode expires.
                                    type: string
                                  enabled:
                                    type: boolean
                                    description: Whether the promocode expires.
                                required:
                                  - enabled
                                additionalProperties: false
                              id:
                                type: string
                                description: Promocode id.
                              limitByFirstPurchase:
                                description: Whether the promocode is limited to a first purchase.
                                type: boolean
                            required:
                              - code
                              - id
                            additionalProperties: false
                          subscriptionId:
                            description: Subscription the discount was granted by.
                            type: string
                        required:
                          - coupon
                        additionalProperties: false
                        description: Discount recorded on a settled payment.
                    dispute:
                      description: Chargeback dispute raised against the payment, if any.
                      type: object
                      properties:
                        createDate:
                          description: ISO timestamp of when the dispute was opened.
                          type: string
                          format: date-time
                      additionalProperties: false
                    method:
                      type: object
                      properties:
                        credits:
                          description: Set when `type` is `credits`.
                          type: object
                          properties:
                            customer:
                              type: object
                              properties:
                                id:
                                  description: Customer id. Absent when the payer record is no longer available.
                                  type: string
                                  format: uuid
                                location:
                                  description: Location the payer belongs to.
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                      description: Location id.
                                    title:
                                      description: Location display name.
                                      type: string
                                  required:
                                    - id
                                  additionalProperties: false
                                name:
                                  description: First name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                surname:
                                  description: Last name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                title:
                                  description: Company name. Present for `company` payers.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - company
                                    - user
                                  description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                              required:
                                - type
                              additionalProperties: false
                              description: Customer whose credits were spent.
                          required:
                            - customer
                          additionalProperties: false
                        dayPasses:
                          description: Set when `type` is `dayPasses`.
                          type: object
                          properties:
                            customer:
                              type: object
                              properties:
                                id:
                                  description: Customer id. Absent when the payer record is no longer available.
                                  type: string
                                  format: uuid
                                location:
                                  description: Location the payer belongs to.
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                      description: Location id.
                                    title:
                                      description: Location display name.
                                      type: string
                                  required:
                                    - id
                                  additionalProperties: false
                                name:
                                  description: First name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                surname:
                                  description: Last name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                title:
                                  description: Company name. Present for `company` payers.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - company
                                    - user
                                  description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                              required:
                                - type
                              additionalProperties: false
                              description: Customer whose day passes were spent.
                          required:
                            - customer
                          additionalProperties: false
                        external:
                          description: Set when `type` is `external`.
                          type: object
                          properties:
                            customer:
                              type: object
                              properties:
                                id:
                                  description: Customer id. Absent when the payer record is no longer available.
                                  type: string
                                  format: uuid
                                location:
                                  description: Location the payer belongs to.
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                      description: Location id.
                                    title:
                                      description: Location display name.
                                      type: string
                                  required:
                                    - id
                                  additionalProperties: false
                                name:
                                  description: First name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                surname:
                                  description: Last name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                title:
                                  description: Company name. Present for `company` payers.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - company
                                    - user
                                  description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                              required:
                                - type
                              additionalProperties: false
                              description: Customer who paid outside of Spacebring.
                          required:
                            - customer
                          additionalProperties: false
                        invoice:
                          description: Set when `type` is `invoice`.
                          type: object
                          properties:
                            customer:
                              type: object
                              properties:
                                id:
                                  description: Customer id. Absent when the payer record is no longer available.
                                  type: string
                                  format: uuid
                                location:
                                  description: Location the payer belongs to.
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                      description: Location id.
                                    title:
                                      description: Location display name.
                                      type: string
                                  required:
                                    - id
                                  additionalProperties: false
                                name:
                                  description: First name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                surname:
                                  description: Last name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                title:
                                  description: Company name. Present for `company` payers.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - company
                                    - user
                                  description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                              required:
                                - type
                              additionalProperties: false
                              description: Customer the booking was invoiced to.
                            invoiceItemRef:
                              description: ID of the invoice item the booking was billed on.
                              type: string
                            invoiceRef:
                              description: Invoice the invoice item was added to. Not set while the item is pending.
                              type: string
                              format: uuid
                            subscriptionRef:
                              description: Subscription the invoice item belongs to.
                              type: string
                              format: uuid
                          required:
                            - customer
                          additionalProperties: false
                        paymentGateway:
                          description: Set when `type` is `paymentGateway`.
                          type: object
                          properties:
                            customer:
                              type: object
                              properties:
                                id:
                                  description: Customer id. Absent when the payer record is no longer available.
                                  type: string
                                  format: uuid
                                location:
                                  description: Location the payer belongs to.
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uuid
                                      description: Location id.
                                    title:
                                      description: Location display name.
                                      type: string
                                  required:
                                    - id
                                  additionalProperties: false
                                name:
                                  description: First name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                surname:
                                  description: Last name. Present for `user` payers.
                                  nullable: true
                                  type: string
                                title:
                                  description: Company name. Present for `company` payers.
                                  type: string
                                type:
                                  type: string
                                  enum:
                                    - company
                                    - user
                                  description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                              required:
                                - type
                              additionalProperties: false
                              description: Customer who was charged.
                            gateway:
                              description: Payment gateway that processed the charge.
                              type: string
                              enum:
                                - authorizenet
                                - flow
                                - fondy
                                - freedompay
                                - hyperpay
                                - kakaopay
                                - maya
                                - mercadopago
                                - mollie
                                - paypal
                                - paystack
                                - payway
                                - plata
                                - stripe
                                - tap
                                - wayforpay
                                - xendit
                            label:
                              description: Saved payment method label, e.g. `Visa •••• 4242`.
                              type: string
                            mask:
                              description: Masked payment method identifier.
                              type: string
                            title:
                              description: Display name of the payment gateway, e.g. `Stripe`.
                              type: string
                          required:
                            - customer
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - credits
                            - dayPasses
                            - external
                            - invoice
                            - paymentGateway
                          description: How the booking was paid for. The matching property below carries the details.
                      required:
                        - type
                      additionalProperties: false
                      description: How the booking was paid for, and by whom.
                    price:
                      description: What the booking was charged.
                      type: object
                      properties:
                        credits:
                          description: Set when `type` is `credits`.
                          type: object
                          properties:
                            expiringAmount:
                              description: Expiring credits charged. Omitted on a per-transaction entry, which records no split.
                              type: number
                            permanentAmount:
                              description: Permanent credits charged. Omitted on a per-transaction entry, which records no split.
                              type: number
                            totalAmount:
                              type: number
                              description: Total credits charged.
                          required:
                            - totalAmount
                          additionalProperties: false
                        dayPasses:
                          description: Set when `type` is `dayPasses`.
                          type: object
                          properties:
                            expiringAmount:
                              description: Expiring day passes charged. Omitted on a per-transaction entry, which records no split.
                              type: number
                            permanentAmount:
                              description: Permanent day passes charged. Omitted on a per-transaction entry, which records no split.
                              type: number
                            totalAmount:
                              type: number
                              description: Total day passes charged.
                          required:
                            - totalAmount
                          additionalProperties: false
                        money:
                          description: Set when `type` is `money`.
                          type: object
                          properties:
                            currencyCode:
                              description: ISO 4217 currency code.
                              type: string
                            grossAmount:
                              type: number
                              description: Total amount charged, tax included.
                            taxIsInclusive:
                              description: Whether the resource price already contained the tax, rather than the tax being added on top of it. Together with `taxRate` it is what splits `grossAmount` into its net and tax parts. Omitted when the location charges no tax.
                              type: boolean
                            taxRate:
                              description: Tax rate applied, in percent. Omitted when the location charges no tax.
                              type: number
                          required:
                            - grossAmount
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - credits
                            - dayPasses
                            - money
                          description: What the booking was charged in.
                      required:
                        - type
                      additionalProperties: false
                    refundable:
                      description: Whether the payment can still be refunded. Omitted for `invoice` payments, where refundability depends on the invoice.
                      type: boolean
                    refunds:
                      description: Refunds made against the payment. Omitted when nothing was refunded.
                      type: object
                      properties:
                        credits:
                          description: Set when `type` is `credits`.
                          type: array
                          items:
                            type: object
                            properties:
                              amountExpiring:
                                type: number
                                deprecated: true
                                description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                              amountPermanent:
                                type: number
                                deprecated: true
                                description: Deprecated. Use `amounts` instead.
                              amountTotal:
                                type: number
                                description: Total amount returned by this refund.
                              amounts:
                                description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    amount:
                                      type: number
                                      description: Amount returned to this balance bucket.
                                    expirationDate:
                                      description: Expiration date of the expiring balance the amount was returned to.
                                      type: string
                                      format: date-time
                                    subscriptionRef:
                                      description: Subscription the expiring balance belongs to.
                                      type: string
                                      format: uuid
                                    type:
                                      type: string
                                      enum:
                                        - expiring
                                        - permanent
                                      description: Balance bucket type.
                                  required:
                                    - amount
                                    - type
                                  additionalProperties: false
                              createDate:
                                description: ISO timestamp of when the refund was made.
                                type: string
                                format: date-time
                              id:
                                description: Refund transaction id.
                                type: string
                            required:
                              - amountExpiring
                              - amountPermanent
                              - amountTotal
                            additionalProperties: false
                        dayPasses:
                          description: Set when `type` is `dayPasses`.
                          type: array
                          items:
                            type: object
                            properties:
                              amountExpiring:
                                type: number
                                deprecated: true
                                description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                              amountPermanent:
                                type: number
                                deprecated: true
                                description: Deprecated. Use `amounts` instead.
                              amountTotal:
                                type: number
                                description: Total amount returned by this refund.
                              amounts:
                                description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    amount:
                                      type: number
                                      description: Amount returned to this balance bucket.
                                    expirationDate:
                                      description: Expiration date of the expiring balance the amount was returned to.
                                      type: string
                                      format: date-time
                                    subscriptionRef:
                                      description: Subscription the expiring balance belongs to.
                                      type: string
                                      format: uuid
                                    type:
                                      type: string
                                      enum:
                                        - expiring
                                        - permanent
                                      description: Balance bucket type.
                                  required:
                                    - amount
                                    - type
                                  additionalProperties: false
                              createDate:
                                description: ISO timestamp of when the refund was made.
                                type: string
                                format: date-time
                              id:
                                description: Refund transaction id.
                                type: string
                            required:
                              - amountExpiring
                              - amountPermanent
                              - amountTotal
                            additionalProperties: false
                        money:
                          description: Set when `type` is `money`.
                          type: array
                          items:
                            type: object
                            properties:
                              createDate:
                                description: ISO timestamp of when the refund was made.
                                type: string
                                format: date-time
                              currencyCode:
                                description: ISO 4217 currency code.
                                type: string
                              grossAmount:
                                type: number
                                description: Gross amount returned by this refund.
                              id:
                                description: Refund transaction id.
                                type: string
                            required:
                              - grossAmount
                            additionalProperties: false
                        type:
                          type: string
                          enum:
                            - credits
                            - dayPasses
                            - money
                          description: What was refunded.
                      required:
                        - type
                      additionalProperties: false
                    request:
                      description: Set for a pending gateway payment the current user still has to complete.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Payment request id.
                        url:
                          type: string
                          description: Relative URL the payer opens to complete the payment.
                      required:
                        - id
                        - url
                      additionalProperties: false
                    scheduleDate:
                      description: ISO timestamp of when a scheduled payment will be charged.
                      type: string
                      format: date-time
                    status:
                      description: Payment status.
                      type: string
                      enum:
                        - succeeded
                        - failed
                        - pending
                        - processing
                        - canceled
                    surcharge:
                      description: Surcharge added on top of the price, if any.
                      type: object
                      properties:
                        money:
                          type: object
                          properties:
                            amount:
                              description: Surcharge amount.
                              type: number
                            currencyCode:
                              description: ISO 4217 currency code.
                              type: string
                            percentage:
                              description: Surcharge percentage applied.
                              type: number
                            rate:
                              description: Surcharge rate.
                              type: number
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - money
                          description: Surcharge type.
                      required:
                        - money
                        - type
                      additionalProperties: false
                    transactionRef:
                      description: ID of the transaction the payment was recorded as.
                      type: string
                    transactionType:
                      description: Whether the transaction took the `price` from the payer or gave it back, as when a booking paid with credits or day passes is shortened. `price` is always positive, so a `refund` subtracts from what the booking cost.
                      type: string
                      enum:
                        - charge
                        - refund
                    type:
                      description: 'Shorthand for the payment method: the gateway slug for `paymentGateway` payments, otherwise `method.type`.'
                      type: string
                  required:
                    - method
                  additionalProperties: false
              resourceRef:
                type: string
                format: uuid
                description: ID of the booked resource.
              seats:
                description: Number of seats reserved.
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
              source:
                description: Where the booking was created. Visible to admins only. Absent on bookings made before it was recorded.
                type: object
                properties:
                  api:
                    description: Set when `type` is `api`.
                    type: object
                    properties:
                      clientId:
                        type: string
                        description: ID of the OAuth client the integration authenticated with.
                    required:
                      - clientId
                    additionalProperties: false
                  app:
                    description: Set when `type` is `app`.
                    type: object
                    properties: {}
                    additionalProperties: false
                  googleCalendar:
                    description: Set when `type` is `googleCalendar`.
                    type: object
                    properties:
                      calendarId:
                        description: ID of the Google Calendar the event was imported from.
                        type: string
                      eventId:
                        description: ID of the Google Calendar event the booking mirrors.
                        type: string
                      eventLink:
                        description: Link to the Google Calendar event.
                        type: string
                    additionalProperties: false
                  mcp:
                    description: Set when `type` is `mcp`.
                    type: object
                    properties:
                      clientId:
                        type: string
                        description: ID of the OAuth client the MCP client authenticated with.
                    required:
                      - clientId
                    additionalProperties: false
                  member:
                    description: Set when `type` is `member`.
                    type: object
                    properties: {}
                    additionalProperties: false
                  outlookCalendar:
                    description: Set when `type` is `outlookCalendar`.
                    type: object
                    properties:
                      calendarId:
                        description: ID of the Outlook calendar the event was imported from.
                        type: string
                      eventId:
                        description: ID of the Outlook event the booking mirrors.
                        type: string
                      eventLink:
                        description: Link to the Outlook event.
                        type: string
                    additionalProperties: false
                  type:
                    type: string
                    enum:
                      - api
                      - app
                      - googleCalendar
                      - mcp
                      - member
                      - outlookCalendar
                    description: 'Where the booking was created: the admin app, the member app, an MCP client, a Google Calendar or Outlook Calendar import, or a direct API integration. The matching property below carries the details.'
                required:
                  - type
                additionalProperties: false
              startDate:
                type: string
                format: date-time
                description: ISO timestamp when the booking starts.
              title:
                description: Custom booking title. Omitted when the owner has restricted title visibility.
                type: string
              updateDate:
                description: ISO timestamp when the booking was last updated.
                type: string
                format: date-time
              userOwner:
                description: Profile of the booking owner. Omitted when the owner has restricted visibility.
                type: object
                properties:
                  about:
                    description: Short bio of the user.
                    nullable: true
                    type: string
                  company:
                    description: Company the user belongs to, if any.
                    nullable: true
                    type: object
                    properties:
                      title:
                        type: string
                        description: Company display name.
                    required:
                      - title
                    additionalProperties: false
                  email:
                    description: Email address of the user.
                    nullable: true
                    type: string
                    format: email
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: First name of the user.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: Phone number of the user.
                    nullable: true
                    type: string
                  photoUrl:
                    description: Profile photo URL of the user.
                    nullable: true
                    type: string
                  surname:
                    description: Last name of the user.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
            required:
              - attendees
              - createDate
              - endDate
              - id
              - resourceRef
              - startDate
          description: List of bookings.
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - bookings
      additionalProperties: false
    getBooking:
      type: object
      properties:
        booking:
          type: object
          additionalProperties: false
          description: The booking.
          properties:
            attendees:
              type: array
              items:
                type: object
                additionalProperties: false
                properties:
                  membershipRef:
                    description: Membership id of the attendee.
                    type: string
                    format: uuid
                  user:
                    description: User profile of the attendee.
                    type: object
                    properties:
                      about:
                        description: Short bio of the user.
                        nullable: true
                        type: string
                      company:
                        description: Company the user belongs to, if any.
                        nullable: true
                        type: object
                        properties:
                          title:
                            type: string
                            description: Company display name.
                        required:
                          - title
                        additionalProperties: false
                      email:
                        description: Email address of the user.
                        nullable: true
                        type: string
                        format: email
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the user.
                      name:
                        description: First name of the user.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number of the user.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL of the user.
                        nullable: true
                        type: string
                      surname:
                        description: Last name of the user.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
              description: Attendees of the booking. Empty when the caller has no access to booking details.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp when the booking was created.
            customer:
              description: Customer the booking belongs to. Omitted when the caller has no access.
              type: object
              properties:
                company:
                  description: Company the booking was made for, recorded when the owner was a member of a company at the time of the booking.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the company.
                    title:
                      type: string
                      description: Company name.
                  required:
                    - id
                    - title
                  additionalProperties: false
                id:
                  type: string
                  format: uuid
                  description: Customer id of the booking owner.
                user:
                  description: Profile of the booking owner. Omitted when the owner has restricted visibility.
                  type: object
                  properties:
                    about:
                      description: Short bio of the user.
                      nullable: true
                      type: string
                    company:
                      description: Company the user belongs to, if any.
                      nullable: true
                      type: object
                      properties:
                        title:
                          type: string
                          description: Company display name.
                      required:
                        - title
                      additionalProperties: false
                    email:
                      description: Email address of the user.
                      nullable: true
                      type: string
                      format: email
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the user.
                    name:
                      description: First name of the user.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number of the user.
                      nullable: true
                      type: string
                    photoUrl:
                      description: Profile photo URL of the user.
                      nullable: true
                      type: string
                    surname:
                      description: Last name of the user.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
              additionalProperties: false
            deleteDate:
              description: ISO timestamp when the booking was cancelled.
              type: string
              format: date-time
            endDate:
              type: string
              format: date-time
              description: ISO timestamp when the booking ends.
            entire:
              description: Whether the booking reserves the entire resource rather than individual seats.
              type: boolean
            id:
              type: string
              description: Unique identifier of the booking. For recurring occurrences, formatted as `{bookingId}_{isoDate}`.
            membershipRefOwner:
              deprecated: true
              description: Deprecated. Use `customer.id` instead. Customer id of the booking owner. Omitted when the caller has no access.
              type: string
              format: uuid
            memo:
              description: Note attached to the booking. Visible to the booking owner and to admins.
              type: string
            metadata:
              type: object
              additionalProperties: {}
              description: Key-value data attached to the booking. Values cannot be objects or arrays. Available only for admins.
            payment:
              deprecated: true
              description: Deprecated. Use `payments` instead.
              type: object
              properties:
                createDate:
                  description: ISO timestamp of when the payment was made.
                  type: string
                  format: date-time
                discounts:
                  description: Discounts applied to the price. Omitted when none applied.
                  type: array
                  items:
                    type: object
                    properties:
                      coupon:
                        type: object
                        properties:
                          amountOff:
                            description: Fixed discount amount, in the coupon's currency.
                            type: number
                          currencyCode:
                            description: Currency code for amountOff.
                            type: string
                          id:
                            description: Coupon id.
                            type: string
                          percentOff:
                            description: Percentage discount amount.
                            type: number
                          productTypes:
                            description: Product types this coupon applies to.
                            type: array
                            items:
                              type: string
                          type:
                            description: Coupon type.
                            type: string
                        additionalProperties: false
                        description: Applied coupon.
                      promocode:
                        description: Applied promocode.
                        type: object
                        properties:
                          code:
                            type: string
                            description: Promocode string, the way a purchase references the promocode back.
                          expiration:
                            description: Promocode expiration.
                            type: object
                            properties:
                              date:
                                description: ISO timestamp of when the promocode expires.
                                type: string
                              enabled:
                                type: boolean
                                description: Whether the promocode expires.
                            required:
                              - enabled
                            additionalProperties: false
                          id:
                            type: string
                            description: Promocode id.
                          limitByFirstPurchase:
                            description: Whether the promocode is limited to a first purchase.
                            type: boolean
                        required:
                          - code
                          - id
                        additionalProperties: false
                      subscriptionId:
                        description: Subscription the discount was granted by.
                        type: string
                    required:
                      - coupon
                    additionalProperties: false
                    description: Discount recorded on a settled payment.
                dispute:
                  description: Chargeback dispute raised against the payment, if any.
                  type: object
                  properties:
                    createDate:
                      description: ISO timestamp of when the dispute was opened.
                      type: string
                      format: date-time
                  additionalProperties: false
                method:
                  type: object
                  properties:
                    credits:
                      description: Set when `type` is `credits`.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer id. Absent when the payer record is no longer available.
                              type: string
                              format: uuid
                            location:
                              description: Location the payer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Location id.
                                title:
                                  description: Location display name.
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                            name:
                              description: First name. Present for `user` payers.
                              nullable: true
                              type: string
                            surname:
                              description: Last name. Present for `user` payers.
                              nullable: true
                              type: string
                            title:
                              description: Company name. Present for `company` payers.
                              type: string
                            type:
                              type: string
                              enum:
                                - company
                                - user
                              description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                          required:
                            - type
                          additionalProperties: false
                          description: Customer whose credits were spent.
                      required:
                        - customer
                      additionalProperties: false
                    dayPasses:
                      description: Set when `type` is `dayPasses`.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer id. Absent when the payer record is no longer available.
                              type: string
                              format: uuid
                            location:
                              description: Location the payer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Location id.
                                title:
                                  description: Location display name.
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                            name:
                              description: First name. Present for `user` payers.
                              nullable: true
                              type: string
                            surname:
                              description: Last name. Present for `user` payers.
                              nullable: true
                              type: string
                            title:
                              description: Company name. Present for `company` payers.
                              type: string
                            type:
                              type: string
                              enum:
                                - company
                                - user
                              description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                          required:
                            - type
                          additionalProperties: false
                          description: Customer whose day passes were spent.
                      required:
                        - customer
                      additionalProperties: false
                    external:
                      description: Set when `type` is `external`.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer id. Absent when the payer record is no longer available.
                              type: string
                              format: uuid
                            location:
                              description: Location the payer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Location id.
                                title:
                                  description: Location display name.
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                            name:
                              description: First name. Present for `user` payers.
                              nullable: true
                              type: string
                            surname:
                              description: Last name. Present for `user` payers.
                              nullable: true
                              type: string
                            title:
                              description: Company name. Present for `company` payers.
                              type: string
                            type:
                              type: string
                              enum:
                                - company
                                - user
                              description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                          required:
                            - type
                          additionalProperties: false
                          description: Customer who paid outside of Spacebring.
                      required:
                        - customer
                      additionalProperties: false
                    invoice:
                      description: Set when `type` is `invoice`.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer id. Absent when the payer record is no longer available.
                              type: string
                              format: uuid
                            location:
                              description: Location the payer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Location id.
                                title:
                                  description: Location display name.
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                            name:
                              description: First name. Present for `user` payers.
                              nullable: true
                              type: string
                            surname:
                              description: Last name. Present for `user` payers.
                              nullable: true
                              type: string
                            title:
                              description: Company name. Present for `company` payers.
                              type: string
                            type:
                              type: string
                              enum:
                                - company
                                - user
                              description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                          required:
                            - type
                          additionalProperties: false
                          description: Customer the booking was invoiced to.
                        invoiceItemRef:
                          description: ID of the invoice item the booking was billed on.
                          type: string
                        invoiceRef:
                          description: Invoice the invoice item was added to. Not set while the item is pending.
                          type: string
                          format: uuid
                        subscriptionRef:
                          description: Subscription the invoice item belongs to.
                          type: string
                          format: uuid
                      required:
                        - customer
                      additionalProperties: false
                    paymentGateway:
                      description: Set when `type` is `paymentGateway`.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer id. Absent when the payer record is no longer available.
                              type: string
                              format: uuid
                            location:
                              description: Location the payer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Location id.
                                title:
                                  description: Location display name.
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                            name:
                              description: First name. Present for `user` payers.
                              nullable: true
                              type: string
                            surname:
                              description: Last name. Present for `user` payers.
                              nullable: true
                              type: string
                            title:
                              description: Company name. Present for `company` payers.
                              type: string
                            type:
                              type: string
                              enum:
                                - company
                                - user
                              description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                          required:
                            - type
                          additionalProperties: false
                          description: Customer who was charged.
                        gateway:
                          description: Payment gateway that processed the charge.
                          type: string
                          enum:
                            - authorizenet
                            - flow
                            - fondy
                            - freedompay
                            - hyperpay
                            - kakaopay
                            - maya
                            - mercadopago
                            - mollie
                            - paypal
                            - paystack
                            - payway
                            - plata
                            - stripe
                            - tap
                            - wayforpay
                            - xendit
                        label:
                          description: Saved payment method label, e.g. `Visa •••• 4242`.
                          type: string
                        mask:
                          description: Masked payment method identifier.
                          type: string
                        title:
                          description: Display name of the payment gateway, e.g. `Stripe`.
                          type: string
                      required:
                        - customer
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - credits
                        - dayPasses
                        - external
                        - invoice
                        - paymentGateway
                      description: How the booking was paid for. The matching property below carries the details.
                  required:
                    - type
                  additionalProperties: false
                  description: How the booking was paid for, and by whom.
                price:
                  description: What the booking was charged.
                  type: object
                  properties:
                    credits:
                      description: Set when `type` is `credits`.
                      type: object
                      properties:
                        expiringAmount:
                          description: Expiring credits charged. Omitted on a per-transaction entry, which records no split.
                          type: number
                        permanentAmount:
                          description: Permanent credits charged. Omitted on a per-transaction entry, which records no split.
                          type: number
                        totalAmount:
                          type: number
                          description: Total credits charged.
                      required:
                        - totalAmount
                      additionalProperties: false
                    dayPasses:
                      description: Set when `type` is `dayPasses`.
                      type: object
                      properties:
                        expiringAmount:
                          description: Expiring day passes charged. Omitted on a per-transaction entry, which records no split.
                          type: number
                        permanentAmount:
                          description: Permanent day passes charged. Omitted on a per-transaction entry, which records no split.
                          type: number
                        totalAmount:
                          type: number
                          description: Total day passes charged.
                      required:
                        - totalAmount
                      additionalProperties: false
                    money:
                      description: Set when `type` is `money`.
                      type: object
                      properties:
                        currencyCode:
                          description: ISO 4217 currency code.
                          type: string
                        grossAmount:
                          type: number
                          description: Total amount charged, tax included.
                        taxIsInclusive:
                          description: Whether the resource price already contained the tax, rather than the tax being added on top of it. Together with `taxRate` it is what splits `grossAmount` into its net and tax parts. Omitted when the location charges no tax.
                          type: boolean
                        taxRate:
                          description: Tax rate applied, in percent. Omitted when the location charges no tax.
                          type: number
                      required:
                        - grossAmount
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - credits
                        - dayPasses
                        - money
                      description: What the booking was charged in.
                  required:
                    - type
                  additionalProperties: false
                refundable:
                  description: Whether the payment can still be refunded. Omitted for `invoice` payments, where refundability depends on the invoice.
                  type: boolean
                refunds:
                  description: Refunds made against the payment. Omitted when nothing was refunded.
                  type: object
                  properties:
                    credits:
                      description: Set when `type` is `credits`.
                      type: array
                      items:
                        type: object
                        properties:
                          amountExpiring:
                            type: number
                            deprecated: true
                            description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                          amountPermanent:
                            type: number
                            deprecated: true
                            description: Deprecated. Use `amounts` instead.
                          amountTotal:
                            type: number
                            description: Total amount returned by this refund.
                          amounts:
                            description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                            type: array
                            items:
                              type: object
                              properties:
                                amount:
                                  type: number
                                  description: Amount returned to this balance bucket.
                                expirationDate:
                                  description: Expiration date of the expiring balance the amount was returned to.
                                  type: string
                                  format: date-time
                                subscriptionRef:
                                  description: Subscription the expiring balance belongs to.
                                  type: string
                                  format: uuid
                                type:
                                  type: string
                                  enum:
                                    - expiring
                                    - permanent
                                  description: Balance bucket type.
                              required:
                                - amount
                                - type
                              additionalProperties: false
                          createDate:
                            description: ISO timestamp of when the refund was made.
                            type: string
                            format: date-time
                          id:
                            description: Refund transaction id.
                            type: string
                        required:
                          - amountExpiring
                          - amountPermanent
                          - amountTotal
                        additionalProperties: false
                    dayPasses:
                      description: Set when `type` is `dayPasses`.
                      type: array
                      items:
                        type: object
                        properties:
                          amountExpiring:
                            type: number
                            deprecated: true
                            description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                          amountPermanent:
                            type: number
                            deprecated: true
                            description: Deprecated. Use `amounts` instead.
                          amountTotal:
                            type: number
                            description: Total amount returned by this refund.
                          amounts:
                            description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                            type: array
                            items:
                              type: object
                              properties:
                                amount:
                                  type: number
                                  description: Amount returned to this balance bucket.
                                expirationDate:
                                  description: Expiration date of the expiring balance the amount was returned to.
                                  type: string
                                  format: date-time
                                subscriptionRef:
                                  description: Subscription the expiring balance belongs to.
                                  type: string
                                  format: uuid
                                type:
                                  type: string
                                  enum:
                                    - expiring
                                    - permanent
                                  description: Balance bucket type.
                              required:
                                - amount
                                - type
                              additionalProperties: false
                          createDate:
                            description: ISO timestamp of when the refund was made.
                            type: string
                            format: date-time
                          id:
                            description: Refund transaction id.
                            type: string
                        required:
                          - amountExpiring
                          - amountPermanent
                          - amountTotal
                        additionalProperties: false
                    money:
                      description: Set when `type` is `money`.
                      type: array
                      items:
                        type: object
                        properties:
                          createDate:
                            description: ISO timestamp of when the refund was made.
                            type: string
                            format: date-time
                          currencyCode:
                            description: ISO 4217 currency code.
                            type: string
                          grossAmount:
                            type: number
                            description: Gross amount returned by this refund.
                          id:
                            description: Refund transaction id.
                            type: string
                        required:
                          - grossAmount
                        additionalProperties: false
                    type:
                      type: string
                      enum:
                        - credits
                        - dayPasses
                        - money
                      description: What was refunded.
                  required:
                    - type
                  additionalProperties: false
                request:
                  description: Set for a pending gateway payment the current user still has to complete.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Payment request id.
                    url:
                      type: string
                      description: Relative URL the payer opens to complete the payment.
                  required:
                    - id
                    - url
                  additionalProperties: false
                scheduleDate:
                  description: ISO timestamp of when a scheduled payment will be charged.
                  type: string
                  format: date-time
                status:
                  description: Payment status.
                  type: string
                  enum:
                    - succeeded
                    - failed
                    - pending
                    - processing
                    - canceled
                surcharge:
                  description: Surcharge added on top of the price, if any.
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        amount:
                          description: Surcharge amount.
                          type: number
                        currencyCode:
                          description: ISO 4217 currency code.
                          type: string
                        percentage:
                          description: Surcharge percentage applied.
                          type: number
                        rate:
                          description: Surcharge rate.
                          type: number
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                      description: Surcharge type.
                  required:
                    - money
                    - type
                  additionalProperties: false
                transactionRef:
                  description: ID of the transaction the payment was recorded as.
                  type: string
                transactionType:
                  description: Whether the transaction took the `price` from the payer or gave it back, as when a booking paid with credits or day passes is shortened. `price` is always positive, so a `refund` subtracts from what the booking cost.
                  type: string
                  enum:
                    - charge
                    - refund
                type:
                  description: 'Shorthand for the payment method: the gateway slug for `paymentGateway` payments, otherwise `method.type`.'
                  type: string
              required:
                - method
              additionalProperties: false
            payments:
              description: How the booking was paid for, oldest first. One entry per settling transaction, so a credits or day passes payment that was charged and later partly refunded lists each transaction separately. Omitted when the caller has no access.
              type: array
              items:
                type: object
                properties:
                  createDate:
                    description: ISO timestamp of when the payment was made.
                    type: string
                    format: date-time
                  discounts:
                    description: Discounts applied to the price. Omitted when none applied.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount, in the coupon's currency.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              description: Coupon id.
                              type: string
                            percentOff:
                              description: Percentage discount amount.
                              type: number
                            productTypes:
                              description: Product types this coupon applies to.
                              type: array
                              items:
                                type: string
                            type:
                              description: Coupon type.
                              type: string
                          additionalProperties: false
                          description: Applied coupon.
                        promocode:
                          description: Applied promocode.
                          type: object
                          properties:
                            code:
                              type: string
                              description: Promocode string, the way a purchase references the promocode back.
                            expiration:
                              description: Promocode expiration.
                              type: object
                              properties:
                                date:
                                  description: ISO timestamp of when the promocode expires.
                                  type: string
                                enabled:
                                  type: boolean
                                  description: Whether the promocode expires.
                              required:
                                - enabled
                              additionalProperties: false
                            id:
                              type: string
                              description: Promocode id.
                            limitByFirstPurchase:
                              description: Whether the promocode is limited to a first purchase.
                              type: boolean
                          required:
                            - code
                            - id
                          additionalProperties: false
                        subscriptionId:
                          description: Subscription the discount was granted by.
                          type: string
                      required:
                        - coupon
                      additionalProperties: false
                      description: Discount recorded on a settled payment.
                  dispute:
                    description: Chargeback dispute raised against the payment, if any.
                    type: object
                    properties:
                      createDate:
                        description: ISO timestamp of when the dispute was opened.
                        type: string
                        format: date-time
                    additionalProperties: false
                  method:
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer whose credits were spent.
                        required:
                          - customer
                        additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer whose day passes were spent.
                        required:
                          - customer
                        additionalProperties: false
                      external:
                        description: Set when `type` is `external`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer who paid outside of Spacebring.
                        required:
                          - customer
                        additionalProperties: false
                      invoice:
                        description: Set when `type` is `invoice`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer the booking was invoiced to.
                          invoiceItemRef:
                            description: ID of the invoice item the booking was billed on.
                            type: string
                          invoiceRef:
                            description: Invoice the invoice item was added to. Not set while the item is pending.
                            type: string
                            format: uuid
                          subscriptionRef:
                            description: Subscription the invoice item belongs to.
                            type: string
                            format: uuid
                        required:
                          - customer
                        additionalProperties: false
                      paymentGateway:
                        description: Set when `type` is `paymentGateway`.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer id. Absent when the payer record is no longer available.
                                type: string
                                format: uuid
                              location:
                                description: Location the payer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Location id.
                                  title:
                                    description: Location display name.
                                    type: string
                                required:
                                  - id
                                additionalProperties: false
                              name:
                                description: First name. Present for `user` payers.
                                nullable: true
                                type: string
                              surname:
                                description: Last name. Present for `user` payers.
                                nullable: true
                                type: string
                              title:
                                description: Company name. Present for `company` payers.
                                type: string
                              type:
                                type: string
                                enum:
                                  - company
                                  - user
                                description: Whether the booking was paid by a company or by a user. Defaults to `user` for a personal card payment, which records no payer of its own.
                            required:
                              - type
                            additionalProperties: false
                            description: Customer who was charged.
                          gateway:
                            description: Payment gateway that processed the charge.
                            type: string
                            enum:
                              - authorizenet
                              - flow
                              - fondy
                              - freedompay
                              - hyperpay
                              - kakaopay
                              - maya
                              - mercadopago
                              - mollie
                              - paypal
                              - paystack
                              - payway
                              - plata
                              - stripe
                              - tap
                              - wayforpay
                              - xendit
                          label:
                            description: Saved payment method label, e.g. `Visa •••• 4242`.
                            type: string
                          mask:
                            description: Masked payment method identifier.
                            type: string
                          title:
                            description: Display name of the payment gateway, e.g. `Stripe`.
                            type: string
                        required:
                          - customer
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - external
                          - invoice
                          - paymentGateway
                        description: How the booking was paid for. The matching property below carries the details.
                    required:
                      - type
                    additionalProperties: false
                    description: How the booking was paid for, and by whom.
                  price:
                    description: What the booking was charged.
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: object
                        properties:
                          expiringAmount:
                            description: Expiring credits charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          permanentAmount:
                            description: Permanent credits charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          totalAmount:
                            type: number
                            description: Total credits charged.
                        required:
                          - totalAmount
                        additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: object
                        properties:
                          expiringAmount:
                            description: Expiring day passes charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          permanentAmount:
                            description: Permanent day passes charged. Omitted on a per-transaction entry, which records no split.
                            type: number
                          totalAmount:
                            type: number
                            description: Total day passes charged.
                        required:
                          - totalAmount
                        additionalProperties: false
                      money:
                        description: Set when `type` is `money`.
                        type: object
                        properties:
                          currencyCode:
                            description: ISO 4217 currency code.
                            type: string
                          grossAmount:
                            type: number
                            description: Total amount charged, tax included.
                          taxIsInclusive:
                            description: Whether the resource price already contained the tax, rather than the tax being added on top of it. Together with `taxRate` it is what splits `grossAmount` into its net and tax parts. Omitted when the location charges no tax.
                            type: boolean
                          taxRate:
                            description: Tax rate applied, in percent. Omitted when the location charges no tax.
                            type: number
                        required:
                          - grossAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - money
                        description: What the booking was charged in.
                    required:
                      - type
                    additionalProperties: false
                  refundable:
                    description: Whether the payment can still be refunded. Omitted for `invoice` payments, where refundability depends on the invoice.
                    type: boolean
                  refunds:
                    description: Refunds made against the payment. Omitted when nothing was refunded.
                    type: object
                    properties:
                      credits:
                        description: Set when `type` is `credits`.
                        type: array
                        items:
                          type: object
                          properties:
                            amountExpiring:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                            amountPermanent:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead.
                            amountTotal:
                              type: number
                              description: Total amount returned by this refund.
                            amounts:
                              description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                              type: array
                              items:
                                type: object
                                properties:
                                  amount:
                                    type: number
                                    description: Amount returned to this balance bucket.
                                  expirationDate:
                                    description: Expiration date of the expiring balance the amount was returned to.
                                    type: string
                                    format: date-time
                                  subscriptionRef:
                                    description: Subscription the expiring balance belongs to.
                                    type: string
                                    format: uuid
                                  type:
                                    type: string
                                    enum:
                                      - expiring
                                      - permanent
                                    description: Balance bucket type.
                                required:
                                  - amount
                                  - type
                                additionalProperties: false
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - amountExpiring
                            - amountPermanent
                            - amountTotal
                          additionalProperties: false
                      dayPasses:
                        description: Set when `type` is `dayPasses`.
                        type: array
                        items:
                          type: object
                          properties:
                            amountExpiring:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead, which reports the expiring balances the refund returned to individually.
                            amountPermanent:
                              type: number
                              deprecated: true
                              description: Deprecated. Use `amounts` instead.
                            amountTotal:
                              type: number
                              description: Total amount returned by this refund.
                            amounts:
                              description: Balance buckets the refund returned to, one entry each. Absent on a refund made before the buckets were recorded, where only the amounts above are known.
                              type: array
                              items:
                                type: object
                                properties:
                                  amount:
                                    type: number
                                    description: Amount returned to this balance bucket.
                                  expirationDate:
                                    description: Expiration date of the expiring balance the amount was returned to.
                                    type: string
                                    format: date-time
                                  subscriptionRef:
                                    description: Subscription the expiring balance belongs to.
                                    type: string
                                    format: uuid
                                  type:
                                    type: string
                                    enum:
                                      - expiring
                                      - permanent
                                    description: Balance bucket type.
                                required:
                                  - amount
                                  - type
                                additionalProperties: false
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - amountExpiring
                            - amountPermanent
                            - amountTotal
                          additionalProperties: false
                      money:
                        description: Set when `type` is `money`.
                        type: array
                        items:
                          type: object
                          properties:
                            createDate:
                              description: ISO timestamp of when the refund was made.
                              type: string
                              format: date-time
                            currencyCode:
                              description: ISO 4217 currency code.
                              type: string
                            grossAmount:
                              type: number
                              description: Gross amount returned by this refund.
                            id:
                              description: Refund transaction id.
                              type: string
                          required:
                            - grossAmount
                          additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - dayPasses
                          - money
                        description: What was refunded.
                    required:
                      - type
                    additionalProperties: false
                  request:
                    description: Set for a pending gateway payment the current user still has to complete.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Payment request id.
                      url:
                        type: string
                        description: Relative URL the payer opens to complete the payment.
                    required:
                      - id
                      - url
                    additionalProperties: false
                  scheduleDate:
                    description: ISO timestamp of when a scheduled payment will be charged.
                    type: string
                    format: date-time
                  status:
                    description: Payment status.
                    type: string
                    enum:
                      - succeeded
                      - failed
                      - pending
                      - processing
                      - canceled
                  surcharge:
                    description: Surcharge added on top of the price, if any.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          amount:
                            description: Surcharge amount.
                            type: number
                          currencyCode:
                            description: ISO 4217 currency code.
                            type: string
                          percentage:
                            description: Surcharge percentage applied.
                            type: number
                          rate:
                            description: Surcharge rate.
                            type: number
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                        description: Surcharge type.
                    required:
                      - money
                      - type
                    additionalProperties: false
                  transactionRef:
                    description: ID of the transaction the payment was recorded as.
                    type: string
                  transactionType:
                    description: Whether the transaction took the `price` from the payer or gave it back, as when a booking paid with credits or day passes is shortened. `price` is always positive, so a `refund` subtracts from what the booking cost.
                    type: string
                    enum:
                      - charge
                      - refund
                  type:
                    description: 'Shorthand for the payment method: the gateway slug for `paymentGateway` payments, otherwise `method.type`.'
                    type: string
                required:
                  - method
                additionalProperties: false
            resourceRef:
              type: string
              format: uuid
              description: ID of the booked resource.
            seats:
              description: Number of seats reserved.
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            source:
              description: Where the booking was created. Visible to admins only. Absent on bookings made before it was recorded.
              type: object
              properties:
                api:
                  description: Set when `type` is `api`.
                  type: object
                  properties:
                    clientId:
                      type: string
                      description: ID of the OAuth client the integration authenticated with.
                  required:
                    - clientId
                  additionalProperties: false
                app:
                  description: Set when `type` is `app`.
                  type: object
                  properties: {}
                  additionalProperties: false
                googleCalendar:
                  description: Set when `type` is `googleCalendar`.
                  type: object
                  properties:
                    calendarId:
                      description: ID of the Google Calendar the event was imported from.
                      type: string
                    eventId:
                      description: ID of the Google Calendar event the booking mirrors.
                      type: string
                    eventLink:
                      description: Link to the Google Calendar event.
                      type: string
                  additionalProperties: false
                mcp:
                  description: Set when `type` is `mcp`.
                  type: object
                  properties:
                    clientId:
                      type: string
                      description: ID of the OAuth client the MCP client authenticated with.
                  required:
                    - clientId
                  additionalProperties: false
                member:
                  description: Set when `type` is `member`.
                  type: object
                  properties: {}
                  additionalProperties: false
                outlookCalendar:
                  description: Set when `type` is `outlookCalendar`.
                  type: object
                  properties:
                    calendarId:
                      description: ID of the Outlook calendar the event was imported from.
                      type: string
                    eventId:
                      description: ID of the Outlook event the booking mirrors.
                      type: string
                    eventLink:
                      description: Link to the Outlook event.
                      type: string
                  additionalProperties: false
                type:
                  type: string
                  enum:
                    - api
                    - app
                    - googleCalendar
                    - mcp
                    - member
                    - outlookCalendar
                  description: 'Where the booking was created: the admin app, the member app, an MCP client, a Google Calendar or Outlook Calendar import, or a direct API integration. The matching property below carries the details.'
              required:
                - type
              additionalProperties: false
            startDate:
              type: string
              format: date-time
              description: ISO timestamp when the booking starts.
            title:
              description: Custom booking title. Omitted when the owner has restricted title visibility.
              type: string
            updateDate:
              description: ISO timestamp when the booking was last updated.
              type: string
              format: date-time
            userOwner:
              description: Profile of the booking owner. Omitted when the owner has restricted visibility.
              type: object
              properties:
                about:
                  description: Short bio of the user.
                  nullable: true
                  type: string
                company:
                  description: Company the user belongs to, if any.
                  nullable: true
                  type: object
                  properties:
                    title:
                      type: string
                      description: Company display name.
                  required:
                    - title
                  additionalProperties: false
                email:
                  description: Email address of the user.
                  nullable: true
                  type: string
                  format: email
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number of the user.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL of the user.
                  nullable: true
                  type: string
                surname:
                  description: Last name of the user.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - attendees
            - createDate
            - endDate
            - id
            - resourceRef
            - startDate
      required:
        - booking
      additionalProperties: false
    getShopCategories:
      type: object
      properties:
        categories:
          type: array
          items:
            type: object
            properties:
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the category was created.
              id:
                type: string
                format: uuid
                description: Unique identifier of the category.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this category belongs to.
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              title:
                type: string
                description: Display name of the category.
            required:
              - createDate
              - id
              - locationRef
              - networkRef
              - title
            additionalProperties: false
          description: List of shop categories.
      required:
        - categories
      additionalProperties: false
    shopCategory:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the category was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the category.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this category belongs to.
        networkRef:
          type: string
          format: uuid
          description: ID of the network.
        title:
          type: string
          description: Display name of the category.
      required:
        - createDate
        - id
        - locationRef
        - networkRef
        - title
      additionalProperties: false
    getShopCategory:
      type: object
      properties:
        category:
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the category was created.
            id:
              type: string
              format: uuid
              description: Unique identifier of the category.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this category belongs to.
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            title:
              type: string
              description: Display name of the category.
          required:
            - createDate
            - id
            - locationRef
            - networkRef
            - title
          additionalProperties: false
          description: The shop category.
      required:
        - category
      additionalProperties: false
    getProducts:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        products:
          type: array
          items:
            type: object
            properties:
              categoryRef:
                type: string
                format: uuid
                description: ID of the category this product belongs to.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the product was created.
              description:
                type: string
                description: Product description.
              featured:
                type: boolean
                description: Whether this product is featured.
              id:
                type: string
                format: uuid
                description: Unique identifier of the product.
              imageUrl:
                nullable: true
                deprecated: true
                description: 'Cover image URL. Deprecated: use media[0].url instead.'
                type: string
              locale:
                type: string
                description: Detected language locale of the product description.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this product belongs to.
              media:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the image.
                    url:
                      description: Public URL of the image.
                      type: string
                  required:
                    - key
                  additionalProperties: false
                description: Media files of the product.
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              options:
                type: array
                items:
                  type: object
                  properties:
                    available:
                      type: boolean
                      description: Whether this option can be purchased.
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the option was created.
                    customTax:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether custom tax is applied to this option.
                        rate:
                          type: number
                          description: Custom tax rate.
                      required:
                        - enabled
                        - rate
                      additionalProperties: false
                      description: Custom tax settings for this option.
                    description:
                      type: string
                      description: Option description.
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the option.
                    price:
                      type: object
                      properties:
                        credits:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Price in credits.
                            amountDiscounted:
                              deprecated: true
                              description: Member-visible credits price (equals list price).
                              type: number
                            enabled:
                              type: boolean
                              description: Whether credits payment is enabled for this option.
                          required:
                            - amount
                            - enabled
                          additionalProperties: false
                          description: Credits pricing.
                        money:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Price in money.
                            amountDiscounted:
                              deprecated: true
                              description: Member-visible money price (equals list price).
                              type: number
                            currencyCode:
                              type: string
                              description: ISO 4217 currency code.
                            enabled:
                              type: boolean
                              description: Whether money payment is enabled for this option.
                          required:
                            - amount
                            - currencyCode
                            - enabled
                          additionalProperties: false
                          description: Money pricing.
                      required:
                        - credits
                        - money
                      additionalProperties: false
                      description: Pricing for this option.
                    stock:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether stock tracking is enabled.
                        quantity:
                          type: number
                          description: Available stock quantity.
                      required:
                        - enabled
                        - quantity
                      additionalProperties: false
                      description: Stock settings for this option.
                    title:
                      type: string
                      description: Option title.
                  required:
                    - available
                    - createDate
                    - customTax
                    - description
                    - id
                    - price
                    - stock
                    - title
                  additionalProperties: false
                description: Purchasable options for this product.
              order:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether the product can be ordered through checkout.
                required:
                  - enabled
                additionalProperties: false
                description: Order settings.
              refundPolicy:
                type: string
                enum:
                  - noRefund
                  - statusNew
                description: 'Refund policy. noRefund: purchases are final. statusNew: refunds allowed while order is in new state.'
              title:
                type: string
                description: Product title.
              updateDate:
                description: ISO timestamp of when the product was last updated.
                type: string
                format: date-time
              visibility:
                type: string
                enum:
                  - public
                  - admins
                  - members
                  - networkMembers
                description: Who can see this product.
            required:
              - categoryRef
              - createDate
              - description
              - featured
              - id
              - imageUrl
              - locale
              - locationRef
              - media
              - networkRef
              - options
              - order
              - refundPolicy
              - title
              - visibility
            additionalProperties: false
          description: List of products.
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - products
      additionalProperties: false
    product:
      type: object
      properties:
        categoryRef:
          type: string
          format: uuid
          description: ID of the category this product belongs to.
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the product was created.
        description:
          type: string
          description: Product description.
        featured:
          type: boolean
          description: Whether this product is featured.
        id:
          type: string
          format: uuid
          description: Unique identifier of the product.
        imageUrl:
          nullable: true
          deprecated: true
          description: 'Cover image URL. Deprecated: use media[0].url instead.'
          type: string
        locale:
          type: string
          description: Detected language locale of the product description.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this product belongs to.
        media:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Storage key of the image.
              url:
                description: Public URL of the image.
                type: string
            required:
              - key
            additionalProperties: false
          description: Media files of the product.
        networkRef:
          type: string
          format: uuid
          description: ID of the network.
        options:
          type: array
          items:
            type: object
            properties:
              available:
                type: boolean
                description: Whether this option can be purchased.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the option was created.
              customTax:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether custom tax is applied to this option.
                  rate:
                    type: number
                    description: Custom tax rate.
                required:
                  - enabled
                  - rate
                additionalProperties: false
                description: Custom tax settings for this option.
              description:
                type: string
                description: Option description.
              id:
                type: string
                format: uuid
                description: Unique identifier of the option.
              price:
                type: object
                properties:
                  credits:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Price in credits.
                      amountDiscounted:
                        deprecated: true
                        description: Member-visible credits price (equals list price).
                        type: number
                      enabled:
                        type: boolean
                        description: Whether credits payment is enabled for this option.
                    required:
                      - amount
                      - enabled
                    additionalProperties: false
                    description: Credits pricing.
                  money:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Price in money.
                      amountDiscounted:
                        deprecated: true
                        description: Member-visible money price (equals list price).
                        type: number
                      currencyCode:
                        type: string
                        description: ISO 4217 currency code.
                      enabled:
                        type: boolean
                        description: Whether money payment is enabled for this option.
                    required:
                      - amount
                      - currencyCode
                      - enabled
                    additionalProperties: false
                    description: Money pricing.
                required:
                  - credits
                  - money
                additionalProperties: false
                description: Pricing for this option.
              stock:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether stock tracking is enabled.
                  quantity:
                    type: number
                    description: Available stock quantity.
                required:
                  - enabled
                  - quantity
                additionalProperties: false
                description: Stock settings for this option.
              title:
                type: string
                description: Option title.
            required:
              - available
              - createDate
              - customTax
              - description
              - id
              - price
              - stock
              - title
            additionalProperties: false
          description: Purchasable options for this product.
        order:
          type: object
          properties:
            enabled:
              type: boolean
              description: Whether the product can be ordered through checkout.
          required:
            - enabled
          additionalProperties: false
          description: Order settings.
        refundPolicy:
          type: string
          enum:
            - noRefund
            - statusNew
          description: 'Refund policy. noRefund: purchases are final. statusNew: refunds allowed while order is in new state.'
        title:
          type: string
          description: Product title.
        updateDate:
          description: ISO timestamp of when the product was last updated.
          type: string
          format: date-time
        visibility:
          type: string
          enum:
            - public
            - admins
            - members
            - networkMembers
          description: Who can see this product.
      required:
        - categoryRef
        - createDate
        - description
        - featured
        - id
        - imageUrl
        - locale
        - locationRef
        - media
        - networkRef
        - options
        - order
        - refundPolicy
        - title
        - visibility
      additionalProperties: false
    getProduct:
      type: object
      properties:
        product:
          type: object
          properties:
            categoryRef:
              type: string
              format: uuid
              description: ID of the category this product belongs to.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the product was created.
            description:
              type: string
              description: Product description.
            featured:
              type: boolean
              description: Whether this product is featured.
            id:
              type: string
              format: uuid
              description: Unique identifier of the product.
            imageUrl:
              nullable: true
              deprecated: true
              description: 'Cover image URL. Deprecated: use media[0].url instead.'
              type: string
            locale:
              type: string
              description: Detected language locale of the product description.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this product belongs to.
            media:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: Storage key of the image.
                  url:
                    description: Public URL of the image.
                    type: string
                required:
                  - key
                additionalProperties: false
              description: Media files of the product.
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            options:
              type: array
              items:
                type: object
                properties:
                  available:
                    type: boolean
                    description: Whether this option can be purchased.
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the option was created.
                  customTax:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is applied to this option.
                      rate:
                        type: number
                        description: Custom tax rate.
                    required:
                      - enabled
                      - rate
                    additionalProperties: false
                    description: Custom tax settings for this option.
                  description:
                    type: string
                    description: Option description.
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the option.
                  price:
                    type: object
                    properties:
                      credits:
                        type: object
                        properties:
                          amount:
                            type: number
                            description: Price in credits.
                          amountDiscounted:
                            deprecated: true
                            description: Member-visible credits price (equals list price).
                            type: number
                          enabled:
                            type: boolean
                            description: Whether credits payment is enabled for this option.
                        required:
                          - amount
                          - enabled
                        additionalProperties: false
                        description: Credits pricing.
                      money:
                        type: object
                        properties:
                          amount:
                            type: number
                            description: Price in money.
                          amountDiscounted:
                            deprecated: true
                            description: Member-visible money price (equals list price).
                            type: number
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          enabled:
                            type: boolean
                            description: Whether money payment is enabled for this option.
                        required:
                          - amount
                          - currencyCode
                          - enabled
                        additionalProperties: false
                        description: Money pricing.
                    required:
                      - credits
                      - money
                    additionalProperties: false
                    description: Pricing for this option.
                  stock:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether stock tracking is enabled.
                      quantity:
                        type: number
                        description: Available stock quantity.
                    required:
                      - enabled
                      - quantity
                    additionalProperties: false
                    description: Stock settings for this option.
                  title:
                    type: string
                    description: Option title.
                required:
                  - available
                  - createDate
                  - customTax
                  - description
                  - id
                  - price
                  - stock
                  - title
                additionalProperties: false
              description: Purchasable options for this product.
            order:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Whether the product can be ordered through checkout.
              required:
                - enabled
              additionalProperties: false
              description: Order settings.
            refundPolicy:
              type: string
              enum:
                - noRefund
                - statusNew
              description: 'Refund policy. noRefund: purchases are final. statusNew: refunds allowed while order is in new state.'
            title:
              type: string
              description: Product title.
            updateDate:
              description: ISO timestamp of when the product was last updated.
              type: string
              format: date-time
            visibility:
              type: string
              enum:
                - public
                - admins
                - members
                - networkMembers
              description: Who can see this product.
          required:
            - categoryRef
            - createDate
            - description
            - featured
            - id
            - imageUrl
            - locale
            - locationRef
            - media
            - networkRef
            - options
            - order
            - refundPolicy
            - title
            - visibility
          additionalProperties: false
          description: The product.
      required:
        - product
      additionalProperties: false
    createProductMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the media file. Pass it as media[0].key when creating or updating a product.
            mimeType:
              type: string
              enum:
                - image/gif
                - image/jpeg
                - image/png
                - image/webp
              description: MIME type of the image file.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the image file in bytes.
            status:
              type: string
              enum:
                - pending
                - uploaded
                - attached
              description: 'Upload status. pending: the file has not been received yet. uploaded: the file is stored and can be attached to a product. attached: a product references the file.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
          required:
            - key
            - mimeType
            - size
            - status
            - upload
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    getOrders:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        orders:
          type: array
          items:
            type: object
            properties:
              comment:
                description: Optional comment left by the customer.
                type: string
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the order was created.
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the customer.
                  title:
                    description: Name of the company. Present when the customer is a company.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Customer type.
                  user:
                    description: User who owns the order. Present when the customer is a user.
                    type: object
                    properties:
                      about:
                        description: Short bio of the user.
                        nullable: true
                        type: string
                      email:
                        description: Email address of the user.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the user.
                      name:
                        description: First name of the user.
                        nullable: true
                        type: string
                      phoneNumber:
                        description: Phone number of the user.
                        nullable: true
                        type: string
                      photoUrl:
                        description: Profile photo URL of the user.
                        nullable: true
                        type: string
                      surname:
                        description: Last name of the user.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: 'Customer who owns the order: the company or user it is paid by, or the buyer when the order is free.'
              customerRefCreatedBy:
                description: ID of the customer who created the order in its location. Absent when the creator has no membership in that location.
                type: string
                format: uuid
              deleteDate:
                description: ISO timestamp of when the order was deleted.
                type: string
                format: date-time
              id:
                type: string
                format: uuid
                description: Unique identifier of the order.
              items:
                type: array
                items:
                  type: object
                  properties:
                    altCurrencyPriceDetails:
                      description: Price in an alternative currency, if applicable.
                      type: object
                      properties:
                        money:
                          type: object
                          properties:
                            currencyCode:
                              type: string
                              description: ISO 4217 currency code.
                            tax:
                              description: Tax details.
                              type: object
                              properties:
                                inclusive:
                                  type: boolean
                                  description: Whether tax is included in the price.
                                rate:
                                  type: number
                                  description: Tax rate.
                              required:
                                - inclusive
                                - rate
                              additionalProperties: false
                            unitAmount:
                              type: number
                              description: Unit price in the alternative currency.
                          required:
                            - currencyCode
                            - unitAmount
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - money
                          description: Price type.
                      required:
                        - money
                        - type
                      additionalProperties: false
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the order item.
                    priceDetails:
                      description: Price details for this item, if the order was paid.
                      type: object
                      properties:
                        credits:
                          description: Credits price details.
                          type: object
                          properties:
                            unitAmount:
                              type: number
                              description: Unit price in credits.
                          required:
                            - unitAmount
                          additionalProperties: false
                        money:
                          description: Money price details.
                          type: object
                          properties:
                            currencyCode:
                              type: string
                              description: ISO 4217 currency code.
                            tax:
                              description: Tax details.
                              type: object
                              properties:
                                inclusive:
                                  type: boolean
                                  description: Whether tax is included in the price.
                                rate:
                                  type: number
                                  description: Tax rate.
                              required:
                                - inclusive
                                - rate
                              additionalProperties: false
                            unitAmount:
                              type: number
                              description: Unit price in money.
                          required:
                            - currencyCode
                            - unitAmount
                          additionalProperties: false
                        type:
                          type: string
                          enum:
                            - credits
                            - money
                          description: Price type.
                      required:
                        - type
                      additionalProperties: false
                    product:
                      type: object
                      properties:
                        description:
                          type: string
                          description: Product description.
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the product.
                        media:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                description: Storage key.
                              url:
                                type: string
                                description: Public URL.
                            required:
                              - key
                              - url
                            additionalProperties: false
                          description: Product media files.
                        option:
                          description: Product option selected for this item.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the option.
                            title:
                              type: string
                              description: Display name of the option.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        title:
                          type: string
                          description: Product title.
                      required:
                        - description
                        - id
                        - media
                        - title
                      additionalProperties: false
                      description: Product purchased in this item.
                    quantity:
                      type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                      description: Number of units purchased.
                  required:
                    - id
                    - product
                    - quantity
                  additionalProperties: false
                description: Items included in this order.
              locationRef:
                type: string
                format: uuid
                description: ID of the location where the order was placed.
              membershipRef:
                description: ID of the membership associated with this order.
                nullable: true
                type: string
                format: uuid
              membershipRefDeletedBy:
                description: ID of the membership that deleted this order.
                type: string
                format: uuid
              number:
                type: number
                description: Sequential order number within the location.
              payment:
                description: Payment details. Absent for free orders.
                type: object
                properties:
                  createDate:
                    description: ISO timestamp of when the payment was created.
                    type: string
                    format: date-time
                  discounts:
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed amount deducted by this coupon.
                              type: number
                            currencyCode:
                              description: ISO 4217 currency code for the coupon amount.
                              type: string
                            id:
                              description: Coupon identifier.
                              type: string
                            percentOff:
                              description: Percentage deducted by this coupon.
                              type: number
                            productTypes:
                              description: Product types this coupon applies to.
                              type: array
                              items:
                                type: string
                            type:
                              description: Coupon type.
                              type: string
                          additionalProperties: false
                          description: Applied coupon details.
                        promocode:
                          description: Applied promocode details.
                          type: object
                          properties:
                            code:
                              type: string
                              description: Promocode string.
                            expiration:
                              description: ISO timestamp of when the promocode expires.
                              type: object
                              properties:
                                date:
                                  type: string
                                enabled:
                                  type: boolean
                              required:
                                - enabled
                              additionalProperties: false
                            id:
                              type: string
                              description: Promocode identifier.
                            limitByFirstPurchase:
                              description: Whether the promocode is limited to the first purchase.
                              type: boolean
                          required:
                            - code
                            - id
                          additionalProperties: false
                        subscriptionId:
                          description: Subscription reference associated with this discount.
                          type: string
                      required:
                        - coupon
                      additionalProperties: false
                    description: Discounts applied to this order.
                  dispute:
                    description: Payment dispute details, if any.
                    type: object
                    properties:
                      createDate:
                        type: string
                        format: date-time
                        description: ISO timestamp of when the dispute was created.
                    required:
                      - createDate
                    additionalProperties: false
                  method:
                    type: object
                    properties:
                      credits:
                        description: Credits payment method details.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer identifier.
                                type: string
                              location:
                                description: Location the customer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the location.
                                  title:
                                    type: string
                                    description: Display name of the location.
                                required:
                                  - id
                                  - title
                                additionalProperties: false
                              name:
                                description: First name of the customer.
                                nullable: true
                                type: string
                              surname:
                                description: Last name of the customer.
                                nullable: true
                                type: string
                              title:
                                description: Company title.
                                type: string
                              type:
                                description: Customer type.
                                type: string
                                enum:
                                  - company
                                  - user
                            additionalProperties: false
                            description: Customer who paid with credits.
                        required:
                          - customer
                        additionalProperties: false
                      external:
                        description: 'External payment method details: the payment is collected outside Spacebring, in cash or by bank transfer.'
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer identifier.
                                type: string
                              location:
                                description: Location the customer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the location.
                                  title:
                                    type: string
                                    description: Display name of the location.
                                required:
                                  - id
                                  - title
                                additionalProperties: false
                              name:
                                description: First name of the customer.
                                nullable: true
                                type: string
                              surname:
                                description: Last name of the customer.
                                nullable: true
                                type: string
                              title:
                                description: Company title.
                                type: string
                              type:
                                description: Customer type.
                                type: string
                                enum:
                                  - company
                                  - user
                            additionalProperties: false
                            description: Customer who paid outside Spacebring.
                        required:
                          - customer
                        additionalProperties: false
                      invoice:
                        description: Invoice payment method details.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer identifier.
                                type: string
                              location:
                                description: Location the customer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the location.
                                  title:
                                    type: string
                                    description: Display name of the location.
                                required:
                                  - id
                                  - title
                                additionalProperties: false
                              name:
                                description: First name of the customer.
                                nullable: true
                                type: string
                              surname:
                                description: Last name of the customer.
                                nullable: true
                                type: string
                              title:
                                description: Company title.
                                type: string
                              type:
                                description: Customer type.
                                type: string
                                enum:
                                  - company
                                  - user
                            additionalProperties: false
                            description: Customer who paid by invoice.
                          invoiceRef:
                            description: Reference to the invoice.
                            type: string
                            format: uuid
                          subscriptionRef:
                            description: Reference to the subscription.
                            type: string
                            format: uuid
                        required:
                          - customer
                        additionalProperties: false
                      paymentGateway:
                        description: Payment gateway method details.
                        type: object
                        properties:
                          customer:
                            type: object
                            properties:
                              id:
                                description: Customer identifier.
                                type: string
                              location:
                                description: Location the customer belongs to.
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the location.
                                  title:
                                    type: string
                                    description: Display name of the location.
                                required:
                                  - id
                                  - title
                                additionalProperties: false
                              name:
                                description: First name of the customer.
                                nullable: true
                                type: string
                              surname:
                                description: Last name of the customer.
                                nullable: true
                                type: string
                              title:
                                description: Company title.
                                type: string
                              type:
                                description: Customer type.
                                type: string
                                enum:
                                  - company
                                  - user
                            additionalProperties: false
                            description: Customer who paid via payment gateway.
                          label:
                            description: Human-readable payment method label (e.g. Visa **** 4242).
                            type: string
                          location:
                            description: Location associated with the payment gateway.
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Unique identifier of the location.
                              title:
                                type: string
                                description: Display name of the location.
                            required:
                              - id
                              - title
                            additionalProperties: false
                          mask:
                            description: Masked payment method identifier.
                            type: string
                          title:
                            description: Payment gateway display name.
                            type: string
                          type:
                            description: Payment gateway type.
                            type: string
                            enum:
                              - authorizenet
                              - flow
                              - fondy
                              - freedompay
                              - hyperpay
                              - kakaopay
                              - maya
                              - mercadopago
                              - paypal
                              - paystack
                              - payway
                              - plata
                              - stripe
                              - tap
                              - wayforpay
                              - mollie
                              - xendit
                        required:
                          - customer
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - external
                          - invoice
                          - paymentGateway
                        description: Payment method type.
                    required:
                      - type
                    additionalProperties: false
                    description: Payment method used for this order.
                  price:
                    type: object
                    properties:
                      credits:
                        description: Credits price breakdown. Present when type is credits.
                        type: object
                        properties:
                          expiringAmount:
                            type: number
                            description: Amount of expiring credits charged.
                          permanentAmount:
                            type: number
                            description: Amount of permanent credits charged.
                        required:
                          - expiringAmount
                          - permanentAmount
                        additionalProperties: false
                      money:
                        description: Money price breakdown. Present when type is money.
                        type: object
                        properties:
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          grossAmount:
                            type: number
                            description: Total gross amount charged.
                        required:
                          - currencyCode
                          - grossAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - money
                        description: Payment price type.
                    required:
                      - type
                    additionalProperties: false
                    description: Price breakdown for this payment.
                  refund:
                    description: Most recent refund, if any.
                    type: object
                    properties:
                      credits:
                        description: Credits refund details.
                        type: object
                        properties:
                          amountExpiring:
                            type: number
                            description: Expiring credits refunded.
                          amountPermanent:
                            type: number
                            description: Permanent credits refunded.
                          amountTotal:
                            type: number
                            description: Total credits refunded.
                          createDate:
                            type: string
                            format: date-time
                            description: ISO timestamp of when the refund was created.
                        required:
                          - amountExpiring
                          - amountPermanent
                          - amountTotal
                          - createDate
                        additionalProperties: false
                      money:
                        description: Money refund details.
                        type: object
                        properties:
                          createDate:
                            type: string
                            format: date-time
                            description: ISO timestamp of when the refund was created.
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          grossAmount:
                            type: number
                            description: Gross amount refunded.
                        required:
                          - createDate
                          - currencyCode
                          - grossAmount
                        additionalProperties: false
                      transactionRef:
                        description: Reference to the refund transaction.
                        type: string
                    additionalProperties: false
                  refundable:
                    type: boolean
                    description: Whether this payment can currently be refunded.
                  refunds:
                    description: All refunds for this payment.
                    type: object
                    properties:
                      credits:
                        description: List of credits refunds.
                        type: array
                        items:
                          type: object
                          properties:
                            amountExpiring:
                              type: number
                              description: Expiring credits in this refund.
                            amountPermanent:
                              type: number
                              description: Permanent credits in this refund.
                            amountTotal:
                              type: number
                              description: Total credits in this refund.
                            createDate:
                              type: string
                              format: date-time
                              description: ISO timestamp of when this refund was created.
                            id:
                              type: string
                              description: Refund identifier.
                          required:
                            - amountExpiring
                            - amountPermanent
                            - amountTotal
                            - createDate
                            - id
                          additionalProperties: false
                      money:
                        description: List of money refunds.
                        type: array
                        items:
                          type: object
                          properties:
                            createDate:
                              type: string
                              format: date-time
                              description: ISO timestamp of when this refund was created.
                            currencyCode:
                              type: string
                              description: ISO 4217 currency code.
                            grossAmount:
                              type: number
                              description: Gross amount of this refund.
                            id:
                              type: string
                              description: Refund identifier.
                          required:
                            - createDate
                            - currencyCode
                            - grossAmount
                            - id
                          additionalProperties: false
                      type:
                        description: Refund type.
                        type: string
                        enum:
                          - credits
                          - money
                    additionalProperties: false
                  request:
                    description: Pending payment request. Present when status is pending and the order belongs to the current user.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Payment request identifier.
                      url:
                        type: string
                        description: URL to complete the payment.
                    required:
                      - id
                      - url
                    additionalProperties: false
                  status:
                    description: Payment status (e.g. succeeded, pending, failed).
                    type: string
                  surcharge:
                    description: Payment gateway surcharge, if any.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          amount:
                            type: number
                            description: Surcharge amount.
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          percentage:
                            type: number
                            description: Surcharge percentage.
                          rate:
                            type: number
                            description: Surcharge rate.
                        required:
                          - amount
                          - currencyCode
                          - percentage
                          - rate
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                        description: Surcharge type.
                    required:
                      - money
                      - type
                    additionalProperties: false
                  transactionRef:
                    description: Reference to the payment transaction.
                    type: string
                  type:
                    description: Payment type (e.g. stripe, credits, invoice).
                    type: string
                required:
                  - discounts
                  - method
                  - price
                  - refundable
                additionalProperties: false
              status:
                type: string
                enum:
                  - canceled
                  - completed
                  - inProgress
                  - new
                  - pending
                description: Current order status. An order is pending while its payment is still processing.
              user:
                type: object
                properties:
                  about:
                    description: Short bio of the user.
                    nullable: true
                    type: string
                  email:
                    description: Email address of the user.
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: First name of the user.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: Phone number of the user.
                    nullable: true
                    type: string
                  photoUrl:
                    description: Profile photo URL of the user.
                    nullable: true
                    type: string
                  surname:
                    description: Last name of the user.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
                description: User who placed the order.
              userCreatedBy:
                description: 'User who created the order: the buyer, or an admin who created it on the buyer''s behalf. Absent for orders created before this was recorded.'
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who created the order.
                  name:
                    description: First name of the user who created the order.
                    nullable: true
                    type: string
                  surname:
                    description: Last name of the user who created the order.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userDeletedBy:
                description: User who deleted this order, if applicable.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user who deleted the order.
                  name:
                    description: First name of the user who deleted the order.
                    nullable: true
                    type: string
                  surname:
                    description: Last name of the user who deleted the order.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
            required:
              - createDate
              - customer
              - id
              - items
              - locationRef
              - number
              - status
              - user
            additionalProperties: false
          description: List of orders.
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
      required:
        - orders
      additionalProperties: false
    getOrder:
      type: object
      properties:
        order:
          type: object
          properties:
            comment:
              description: Optional comment left by the customer.
              type: string
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the order was created.
            customer:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the customer.
                title:
                  description: Name of the company. Present when the customer is a company.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Customer type.
                user:
                  description: User who owns the order. Present when the customer is a user.
                  type: object
                  properties:
                    about:
                      description: Short bio of the user.
                      nullable: true
                      type: string
                    email:
                      description: Email address of the user.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the user.
                    name:
                      description: First name of the user.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number of the user.
                      nullable: true
                      type: string
                    photoUrl:
                      description: Profile photo URL of the user.
                      nullable: true
                      type: string
                    surname:
                      description: Last name of the user.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
              description: 'Customer who owns the order: the company or user it is paid by, or the buyer when the order is free.'
            customerRefCreatedBy:
              description: ID of the customer who created the order in its location. Absent when the creator has no membership in that location.
              type: string
              format: uuid
            deleteDate:
              description: ISO timestamp of when the order was deleted.
              type: string
              format: date-time
            id:
              type: string
              format: uuid
              description: Unique identifier of the order.
            items:
              type: array
              items:
                type: object
                properties:
                  altCurrencyPriceDetails:
                    description: Price in an alternative currency, if applicable.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          tax:
                            description: Tax details.
                            type: object
                            properties:
                              inclusive:
                                type: boolean
                                description: Whether tax is included in the price.
                              rate:
                                type: number
                                description: Tax rate.
                            required:
                              - inclusive
                              - rate
                            additionalProperties: false
                          unitAmount:
                            type: number
                            description: Unit price in the alternative currency.
                        required:
                          - currencyCode
                          - unitAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                        description: Price type.
                    required:
                      - money
                      - type
                    additionalProperties: false
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the order item.
                  priceDetails:
                    description: Price details for this item, if the order was paid.
                    type: object
                    properties:
                      credits:
                        description: Credits price details.
                        type: object
                        properties:
                          unitAmount:
                            type: number
                            description: Unit price in credits.
                        required:
                          - unitAmount
                        additionalProperties: false
                      money:
                        description: Money price details.
                        type: object
                        properties:
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          tax:
                            description: Tax details.
                            type: object
                            properties:
                              inclusive:
                                type: boolean
                                description: Whether tax is included in the price.
                              rate:
                                type: number
                                description: Tax rate.
                            required:
                              - inclusive
                              - rate
                            additionalProperties: false
                          unitAmount:
                            type: number
                            description: Unit price in money.
                        required:
                          - currencyCode
                          - unitAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - credits
                          - money
                        description: Price type.
                    required:
                      - type
                    additionalProperties: false
                  product:
                    type: object
                    properties:
                      description:
                        type: string
                        description: Product description.
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the product.
                      media:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              description: Storage key.
                            url:
                              type: string
                              description: Public URL.
                          required:
                            - key
                            - url
                          additionalProperties: false
                        description: Product media files.
                      option:
                        description: Product option selected for this item.
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Unique identifier of the option.
                          title:
                            type: string
                            description: Display name of the option.
                        required:
                          - id
                          - title
                        additionalProperties: false
                      title:
                        type: string
                        description: Product title.
                    required:
                      - description
                      - id
                      - media
                      - title
                    additionalProperties: false
                    description: Product purchased in this item.
                  quantity:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: Number of units purchased.
                required:
                  - id
                  - product
                  - quantity
                additionalProperties: false
              description: Items included in this order.
            locationRef:
              type: string
              format: uuid
              description: ID of the location where the order was placed.
            membershipRef:
              description: ID of the membership associated with this order.
              nullable: true
              type: string
              format: uuid
            membershipRefDeletedBy:
              description: ID of the membership that deleted this order.
              type: string
              format: uuid
            number:
              type: number
              description: Sequential order number within the location.
            payment:
              description: Payment details. Absent for free orders.
              type: object
              properties:
                createDate:
                  description: ISO timestamp of when the payment was created.
                  type: string
                  format: date-time
                discounts:
                  type: array
                  items:
                    type: object
                    properties:
                      coupon:
                        type: object
                        properties:
                          amountOff:
                            description: Fixed amount deducted by this coupon.
                            type: number
                          currencyCode:
                            description: ISO 4217 currency code for the coupon amount.
                            type: string
                          id:
                            description: Coupon identifier.
                            type: string
                          percentOff:
                            description: Percentage deducted by this coupon.
                            type: number
                          productTypes:
                            description: Product types this coupon applies to.
                            type: array
                            items:
                              type: string
                          type:
                            description: Coupon type.
                            type: string
                        additionalProperties: false
                        description: Applied coupon details.
                      promocode:
                        description: Applied promocode details.
                        type: object
                        properties:
                          code:
                            type: string
                            description: Promocode string.
                          expiration:
                            description: ISO timestamp of when the promocode expires.
                            type: object
                            properties:
                              date:
                                type: string
                              enabled:
                                type: boolean
                            required:
                              - enabled
                            additionalProperties: false
                          id:
                            type: string
                            description: Promocode identifier.
                          limitByFirstPurchase:
                            description: Whether the promocode is limited to the first purchase.
                            type: boolean
                        required:
                          - code
                          - id
                        additionalProperties: false
                      subscriptionId:
                        description: Subscription reference associated with this discount.
                        type: string
                    required:
                      - coupon
                    additionalProperties: false
                  description: Discounts applied to this order.
                dispute:
                  description: Payment dispute details, if any.
                  type: object
                  properties:
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the dispute was created.
                  required:
                    - createDate
                  additionalProperties: false
                method:
                  type: object
                  properties:
                    credits:
                      description: Credits payment method details.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer identifier.
                              type: string
                            location:
                              description: Location the customer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the location.
                                title:
                                  type: string
                                  description: Display name of the location.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            name:
                              description: First name of the customer.
                              nullable: true
                              type: string
                            surname:
                              description: Last name of the customer.
                              nullable: true
                              type: string
                            title:
                              description: Company title.
                              type: string
                            type:
                              description: Customer type.
                              type: string
                              enum:
                                - company
                                - user
                          additionalProperties: false
                          description: Customer who paid with credits.
                      required:
                        - customer
                      additionalProperties: false
                    external:
                      description: 'External payment method details: the payment is collected outside Spacebring, in cash or by bank transfer.'
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer identifier.
                              type: string
                            location:
                              description: Location the customer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the location.
                                title:
                                  type: string
                                  description: Display name of the location.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            name:
                              description: First name of the customer.
                              nullable: true
                              type: string
                            surname:
                              description: Last name of the customer.
                              nullable: true
                              type: string
                            title:
                              description: Company title.
                              type: string
                            type:
                              description: Customer type.
                              type: string
                              enum:
                                - company
                                - user
                          additionalProperties: false
                          description: Customer who paid outside Spacebring.
                      required:
                        - customer
                      additionalProperties: false
                    invoice:
                      description: Invoice payment method details.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer identifier.
                              type: string
                            location:
                              description: Location the customer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the location.
                                title:
                                  type: string
                                  description: Display name of the location.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            name:
                              description: First name of the customer.
                              nullable: true
                              type: string
                            surname:
                              description: Last name of the customer.
                              nullable: true
                              type: string
                            title:
                              description: Company title.
                              type: string
                            type:
                              description: Customer type.
                              type: string
                              enum:
                                - company
                                - user
                          additionalProperties: false
                          description: Customer who paid by invoice.
                        invoiceRef:
                          description: Reference to the invoice.
                          type: string
                          format: uuid
                        subscriptionRef:
                          description: Reference to the subscription.
                          type: string
                          format: uuid
                      required:
                        - customer
                      additionalProperties: false
                    paymentGateway:
                      description: Payment gateway method details.
                      type: object
                      properties:
                        customer:
                          type: object
                          properties:
                            id:
                              description: Customer identifier.
                              type: string
                            location:
                              description: Location the customer belongs to.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the location.
                                title:
                                  type: string
                                  description: Display name of the location.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            name:
                              description: First name of the customer.
                              nullable: true
                              type: string
                            surname:
                              description: Last name of the customer.
                              nullable: true
                              type: string
                            title:
                              description: Company title.
                              type: string
                            type:
                              description: Customer type.
                              type: string
                              enum:
                                - company
                                - user
                          additionalProperties: false
                          description: Customer who paid via payment gateway.
                        label:
                          description: Human-readable payment method label (e.g. Visa **** 4242).
                          type: string
                        location:
                          description: Location associated with the payment gateway.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the location.
                            title:
                              type: string
                              description: Display name of the location.
                          required:
                            - id
                            - title
                          additionalProperties: false
                        mask:
                          description: Masked payment method identifier.
                          type: string
                        title:
                          description: Payment gateway display name.
                          type: string
                        type:
                          description: Payment gateway type.
                          type: string
                          enum:
                            - authorizenet
                            - flow
                            - fondy
                            - freedompay
                            - hyperpay
                            - kakaopay
                            - maya
                            - mercadopago
                            - paypal
                            - paystack
                            - payway
                            - plata
                            - stripe
                            - tap
                            - wayforpay
                            - mollie
                            - xendit
                      required:
                        - customer
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - credits
                        - external
                        - invoice
                        - paymentGateway
                      description: Payment method type.
                  required:
                    - type
                  additionalProperties: false
                  description: Payment method used for this order.
                price:
                  type: object
                  properties:
                    credits:
                      description: Credits price breakdown. Present when type is credits.
                      type: object
                      properties:
                        expiringAmount:
                          type: number
                          description: Amount of expiring credits charged.
                        permanentAmount:
                          type: number
                          description: Amount of permanent credits charged.
                      required:
                        - expiringAmount
                        - permanentAmount
                      additionalProperties: false
                    money:
                      description: Money price breakdown. Present when type is money.
                      type: object
                      properties:
                        currencyCode:
                          type: string
                          description: ISO 4217 currency code.
                        grossAmount:
                          type: number
                          description: Total gross amount charged.
                      required:
                        - currencyCode
                        - grossAmount
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - credits
                        - money
                      description: Payment price type.
                  required:
                    - type
                  additionalProperties: false
                  description: Price breakdown for this payment.
                refund:
                  description: Most recent refund, if any.
                  type: object
                  properties:
                    credits:
                      description: Credits refund details.
                      type: object
                      properties:
                        amountExpiring:
                          type: number
                          description: Expiring credits refunded.
                        amountPermanent:
                          type: number
                          description: Permanent credits refunded.
                        amountTotal:
                          type: number
                          description: Total credits refunded.
                        createDate:
                          type: string
                          format: date-time
                          description: ISO timestamp of when the refund was created.
                      required:
                        - amountExpiring
                        - amountPermanent
                        - amountTotal
                        - createDate
                      additionalProperties: false
                    money:
                      description: Money refund details.
                      type: object
                      properties:
                        createDate:
                          type: string
                          format: date-time
                          description: ISO timestamp of when the refund was created.
                        currencyCode:
                          type: string
                          description: ISO 4217 currency code.
                        grossAmount:
                          type: number
                          description: Gross amount refunded.
                      required:
                        - createDate
                        - currencyCode
                        - grossAmount
                      additionalProperties: false
                    transactionRef:
                      description: Reference to the refund transaction.
                      type: string
                  additionalProperties: false
                refundable:
                  type: boolean
                  description: Whether this payment can currently be refunded.
                refunds:
                  description: All refunds for this payment.
                  type: object
                  properties:
                    credits:
                      description: List of credits refunds.
                      type: array
                      items:
                        type: object
                        properties:
                          amountExpiring:
                            type: number
                            description: Expiring credits in this refund.
                          amountPermanent:
                            type: number
                            description: Permanent credits in this refund.
                          amountTotal:
                            type: number
                            description: Total credits in this refund.
                          createDate:
                            type: string
                            format: date-time
                            description: ISO timestamp of when this refund was created.
                          id:
                            type: string
                            description: Refund identifier.
                        required:
                          - amountExpiring
                          - amountPermanent
                          - amountTotal
                          - createDate
                          - id
                        additionalProperties: false
                    money:
                      description: List of money refunds.
                      type: array
                      items:
                        type: object
                        properties:
                          createDate:
                            type: string
                            format: date-time
                            description: ISO timestamp of when this refund was created.
                          currencyCode:
                            type: string
                            description: ISO 4217 currency code.
                          grossAmount:
                            type: number
                            description: Gross amount of this refund.
                          id:
                            type: string
                            description: Refund identifier.
                        required:
                          - createDate
                          - currencyCode
                          - grossAmount
                          - id
                        additionalProperties: false
                    type:
                      description: Refund type.
                      type: string
                      enum:
                        - credits
                        - money
                  additionalProperties: false
                request:
                  description: Pending payment request. Present when status is pending and the order belongs to the current user.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Payment request identifier.
                    url:
                      type: string
                      description: URL to complete the payment.
                  required:
                    - id
                    - url
                  additionalProperties: false
                status:
                  description: Payment status (e.g. succeeded, pending, failed).
                  type: string
                surcharge:
                  description: Payment gateway surcharge, if any.
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Surcharge amount.
                        currencyCode:
                          type: string
                          description: ISO 4217 currency code.
                        percentage:
                          type: number
                          description: Surcharge percentage.
                        rate:
                          type: number
                          description: Surcharge rate.
                      required:
                        - amount
                        - currencyCode
                        - percentage
                        - rate
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                      description: Surcharge type.
                  required:
                    - money
                    - type
                  additionalProperties: false
                transactionRef:
                  description: Reference to the payment transaction.
                  type: string
                type:
                  description: Payment type (e.g. stripe, credits, invoice).
                  type: string
              required:
                - discounts
                - method
                - price
                - refundable
              additionalProperties: false
            status:
              type: string
              enum:
                - canceled
                - completed
                - inProgress
                - new
                - pending
              description: Current order status. An order is pending while its payment is still processing.
            user:
              type: object
              properties:
                about:
                  description: Short bio of the user.
                  nullable: true
                  type: string
                email:
                  description: Email address of the user.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number of the user.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL of the user.
                  nullable: true
                  type: string
                surname:
                  description: Last name of the user.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
              description: User who placed the order.
            userCreatedBy:
              description: 'User who created the order: the buyer, or an admin who created it on the buyer''s behalf. Absent for orders created before this was recorded.'
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user who created the order.
                name:
                  description: First name of the user who created the order.
                  nullable: true
                  type: string
                surname:
                  description: Last name of the user who created the order.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userDeletedBy:
              description: User who deleted this order, if applicable.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user who deleted the order.
                name:
                  description: First name of the user who deleted the order.
                  nullable: true
                  type: string
                surname:
                  description: Last name of the user who deleted the order.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - createDate
            - customer
            - id
            - items
            - locationRef
            - number
            - status
            - user
          additionalProperties: false
          description: The order.
      required:
        - order
      additionalProperties: false
    getSubscriptions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
        subscriptions:
          type: array
          items:
            type: object
            properties:
              addPendingItemsToInvoice:
                type: boolean
                description: Whether pending items are added to the next invoice.
              advanceInvoicing:
                type: object
                properties:
                  days:
                    type: number
                    description: Number of days before renewal to issue an invoice.
                  type:
                    type: string
                    enum:
                      - days
                      - default
                    description: Advance invoicing mode.
                required:
                  - days
                  - type
                additionalProperties: false
                description: Advance invoicing settings.
              assignments:
                type: array
                items:
                  type: object
                  properties:
                    entire:
                      description: Whether the assignment grants access to the entire resource.
                      type: boolean
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the assignment.
                    quantity:
                      description: Assigned quantity.
                      type: number
                    resource:
                      type: object
                      properties:
                        coverUrl:
                          description: Cover image URL of the assigned resource.
                          type: string
                        id:
                          type: string
                          description: Unique identifier of the assigned resource.
                        title:
                          type: string
                          description: Display name of the assigned resource.
                        type:
                          type: string
                          description: Resource type.
                      required:
                        - id
                        - title
                        - type
                      additionalProperties: false
                      description: Assigned resource details.
                    title:
                      type: string
                      description: Display title of the assignment.
                  required:
                    - id
                    - resource
                    - title
                  additionalProperties: false
                description: Resource assignments for this subscription.
              billingCycleAnchor:
                type: string
                enum:
                  - any
                  - day
                description: Billing cycle anchor mode.
              company:
                deprecated: true
                description: Company associated with this subscription. Deprecated — use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the company was created.
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the company.
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this company belongs to.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  metadata:
                    description: Custom metadata for the company.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes about the company.
                    nullable: true
                    type: string
                  publicLogoUrl:
                    description: Logo URL resolved from the company website.
                    type: string
                  title:
                    type: string
                    description: Display name of the company.
                required:
                  - createDate
                  - id
                  - locationRef
                  - title
                additionalProperties: false
              companyRef:
                description: ID of the company this subscription belongs to.
                type: string
                format: uuid
              contract:
                description: Contract associated with this subscription.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the contract.
                  url:
                    type: string
                    description: URL of the contract document.
                required:
                  - id
                  - url
                additionalProperties: false
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the subscription was created.
              credits:
                type: number
                description: Total credits included in the subscription.
              currentInterval:
                description: Current billing interval.
                type: object
                properties:
                  endDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the interval ends.
                  futureIntervalItemsCreated:
                    description: Whether future interval items have been created.
                    type: boolean
                  startDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the interval starts.
                required:
                  - endDate
                  - startDate
                additionalProperties: false
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the customer.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Logo URL resolved from the company website.
                    type: string
                  title:
                    description: Display name of the company customer.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or user.
                  user:
                    description: User associated with the customer.
                    type: object
                    properties:
                      email:
                        description: User email address.
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the user.
                      name:
                        description: User first name.
                        nullable: true
                        type: string
                      photoUrl:
                        description: User profile photo URL.
                        nullable: true
                        type: string
                      surname:
                        description: User last name.
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer billed for this subscription.
              customerRef:
                type: string
                format: uuid
                description: ID of the customer billed for this subscription.
              dayPasses:
                type: number
                description: Total day passes included in the subscription.
              deleteDate:
                description: ISO timestamp of when the subscription was deleted.
                type: string
                format: date-time
              discounts:
                deprecated: true
                description: Maximum synthetic discount percentages across items.
                type: object
                properties:
                  creditPackages:
                    type: number
                    description: Maximum discount percentage for credit packages across items.
                  desks:
                    type: number
                    description: Maximum discount percentage for desk bookings across items.
                  equipment:
                    type: number
                    description: Maximum discount percentage for equipment bookings across items.
                  events:
                    type: number
                    description: Maximum discount percentage for event tickets across items.
                  rooms:
                    type: number
                    description: Maximum discount percentage for room bookings across items.
                  shop:
                    type: number
                    description: Maximum discount percentage for shop products across items.
                required:
                  - creditPackages
                  - desks
                  - equipment
                  - events
                  - rooms
                  - shop
                additionalProperties: false
              endDate:
                description: ISO timestamp when the subscription ends.
                type: string
                format: date-time
              id:
                type: string
                format: uuid
                description: Unique identifier of the subscription.
              items:
                type: array
                items:
                  type: object
                  properties:
                    autoUpdateFromProduct:
                      type: boolean
                      description: Whether the item syncs from its linked product.
                    avigilonAltaGroupRef:
                      description: Avigilon Alta access group reference.
                      nullable: true
                      type: number
                    brivoGroupRef:
                      description: Brivo access group reference.
                      nullable: true
                      type: number
                    commitmentCycles:
                      description: Number of billing cycles in the commitment period.
                      type: number
                    commitmentEndDate:
                      description: ISO timestamp when the commitment period ends.
                      type: string
                      format: date-time
                    couponRef:
                      description: ID of the coupon applied to this item.
                      type: string
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the item was created.
                    credits:
                      type: number
                      description: Credits included per billing cycle.
                    customEnd:
                      type: boolean
                      description: Whether the item has a custom end date.
                    customStart:
                      type: boolean
                      description: Whether the item has a custom start date.
                    customTax:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether custom tax is enabled for this item.
                        rate:
                          type: number
                          description: Custom tax rate as a decimal.
                      required:
                        - enabled
                        - rate
                      additionalProperties: false
                      description: Custom tax settings for this item.
                    dayPasses:
                      type: number
                      description: Day passes included per billing cycle.
                    discounts:
                      description: Synthetic discount percentages by product type.
                      deprecated: true
                      type: object
                      properties:
                        creditPackages:
                          type: number
                          description: Discount percentage applied to credit packages.
                        desks:
                          type: number
                          description: Discount percentage applied to desk bookings.
                        equipment:
                          type: number
                          description: Discount percentage applied to equipment bookings.
                        events:
                          type: number
                          description: Discount percentage applied to event tickets.
                        rooms:
                          type: number
                          description: Discount percentage applied to room bookings.
                        shop:
                          type: number
                          description: Discount percentage applied to shop products.
                      required:
                        - creditPackages
                        - desks
                        - equipment
                        - events
                        - rooms
                        - shop
                      additionalProperties: false
                    endDate:
                      description: ISO timestamp when the item ends.
                      type: string
                      format: date-time
                    endFixed:
                      type: boolean
                      description: Whether the end date is fixed and cannot shift with billing cycles.
                    entire:
                      description: Whether the item grants access to the entire resource.
                      type: boolean
                    exclusiveAccess:
                      description: Resources and benefits with exclusive access.
                      type: object
                      properties:
                        benefitRefs:
                          type: array
                          items:
                            type: string
                            format: uuid
                          description: Benefit IDs with exclusive access.
                        resourceRefs:
                          type: array
                          items:
                            type: string
                            format: uuid
                          description: Resource IDs with exclusive access.
                      required:
                        - benefitRefs
                        - resourceRefs
                      additionalProperties: false
                    ezeepBlueGroupRef:
                      description: Ezeep Blue group reference.
                      nullable: true
                      type: string
                    grantedDiscounts:
                      type: array
                      items:
                        type: object
                        properties:
                          coupon:
                            type: object
                            properties:
                              amountOff:
                                description: Fixed discount amount.
                                type: number
                              currencyCode:
                                description: Currency code for amountOff.
                                type: string
                              enabledForCredits:
                                description: Whether the coupon applies to credit purchases.
                                type: boolean
                              id:
                                type: string
                                format: uuid
                                description: Unique identifier of the coupon.
                              limitedItems:
                                description: Item-level redemption limits.
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether item-level limits are enabled.
                                  values:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                          format: uuid
                                          description: Unique identifier of the limited item.
                                        title:
                                          description: Display name of the limited item.
                                          type: string
                                        type:
                                          type: string
                                          enum:
                                            - roomBookings
                                            - eventSpaceBookings
                                            - conferenceRoomBookings
                                            - meetingRoomBookings
                                            - phoneBoothBookings
                                            - stationBookings
                                            - studioBookings
                                            - hotDeskBookings
                                            - dedicatedDeskBookings
                                            - officeBookings
                                            - parkingBookings
                                            - equipmentBookings
                                            - eventTickets
                                            - shopProducts
                                            - packages
                                            - subscriptionItems
                                          description: Product type of the limited item.
                                      required:
                                        - id
                                        - type
                                      additionalProperties: false
                                      description: Product or package the coupon is limited to.
                                    description: Items the coupon applies to when limits are enabled.
                                required:
                                  - enabled
                                  - values
                                additionalProperties: false
                              limitedRedemption:
                                description: Redemption limits for the coupon.
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether redemption limits are enabled.
                                  usage:
                                    type: number
                                    description: Current redemption count.
                                  value:
                                    type: number
                                    description: Maximum redemption count.
                                required:
                                  - enabled
                                  - usage
                                  - value
                                additionalProperties: false
                              percentOff:
                                description: Percentage discount.
                                type: number
                              productTypes:
                                description: Product types the coupon applies to.
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - roomBookings
                                    - eventSpaceBookings
                                    - conferenceRoomBookings
                                    - meetingRoomBookings
                                    - phoneBoothBookings
                                    - stationBookings
                                    - studioBookings
                                    - hotDeskBookings
                                    - dedicatedDeskBookings
                                    - officeBookings
                                    - parkingBookings
                                    - equipmentBookings
                                    - eventTickets
                                    - shopProducts
                                    - packages
                                    - subscriptionItems
                            required:
                              - id
                            additionalProperties: false
                            description: Granted coupon details.
                        required:
                          - coupon
                        additionalProperties: false
                      description: Coupons granted to this item.
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the subscription item.
                    kisiGroupRef:
                      description: Kisi access group reference.
                      nullable: true
                      type: number
                    optionRef:
                      description: ID of the product option linked to this item.
                      type: string
                      format: uuid
                    plan:
                      description: Linked plan details.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the plan.
                        resourceRef:
                          description: Resource reference associated with the plan.
                          type: string
                        title:
                          type: string
                          description: Display name of the plan.
                      required:
                        - id
                        - title
                      additionalProperties: false
                    planRef:
                      description: ID of the linked plan.
                      type: string
                      format: uuid
                    price:
                      type: number
                      description: Price per billing cycle.
                    productRef:
                      description: ID of the linked product.
                      type: string
                      format: uuid
                    quantity:
                      type: number
                      description: Quantity of this item.
                    resource:
                      description: Linked resource details.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the resource.
                        coverUrl:
                          deprecated: true
                          description: Cover image URL of the resource.
                          type: string
                        imageUrl:
                          description: Cover image URL of the resource.
                          type: string
                        title:
                          type: string
                          description: Display name of the resource.
                        type:
                          type: string
                          description: Resource type.
                      required:
                        - id
                        - title
                        - type
                      additionalProperties: false
                    resourceRef:
                      description: Reference to the linked resource.
                      nullable: true
                      type: string
                    saltoksAccessGroupRef:
                      description: Salto KS access group reference.
                      nullable: true
                      type: string
                    setupFee:
                      type: number
                      description: One-time setup fee for this item.
                    startDate:
                      description: ISO timestamp when the item starts.
                      type: string
                      format: date-time
                    startFixed:
                      type: boolean
                      description: Whether the start date is fixed.
                    tapkeyGroupRef:
                      description: Tapkey access group reference.
                      nullable: true
                      type: string
                    tier:
                      description: Linked tier details.
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the tier.
                        title:
                          type: string
                          description: Display name of the tier.
                      required:
                        - id
                        - title
                      additionalProperties: false
                    tierRef:
                      description: ID of the linked tier.
                      type: string
                      format: uuid
                    title:
                      description: Display title of the item.
                      nullable: true
                      type: string
                    type:
                      type: string
                      enum:
                        - oneOff
                        - recurring
                      description: Billing type of the item.
                    unifiAccessGroupRef:
                      description: UniFi Access policy reference.
                      nullable: true
                      type: string
                  required:
                    - autoUpdateFromProduct
                    - createDate
                    - credits
                    - customEnd
                    - customStart
                    - customTax
                    - dayPasses
                    - endFixed
                    - grantedDiscounts
                    - id
                    - price
                    - quantity
                    - setupFee
                    - startFixed
                    - type
                  additionalProperties: false
                description: Subscription line items.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this subscription belongs to.
              membershipRef:
                description: ID of the membership this subscription belongs to.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network this subscription belongs to.
              nextInterval:
                description: Next billing interval.
                type: object
                properties:
                  endDate:
                    description: ISO timestamp when the next interval ends.
                    type: string
                    format: date-time
                  startDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the next interval starts.
                required:
                  - startDate
                additionalProperties: false
              pausePaymentCollection:
                description: Payment collection pause settings.
                type: object
                properties:
                  behavior:
                    type: string
                    enum:
                      - draft
                      - void
                    description: Behavior while payment collection is paused.
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when payment collection was paused.
                  resumesAt:
                    description: ISO timestamp when payment collection resumes.
                    type: string
                    format: date-time
                required:
                  - behavior
                  - createDate
                additionalProperties: false
              payment:
                description: Payment status for subscriptions created by the current user.
                type: object
                properties:
                  request:
                    description: Pending payment request details.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the payment request.
                      url:
                        type: string
                        description: URL to complete the payment.
                    required:
                      - id
                      - url
                    additionalProperties: false
                  status:
                    type: string
                    description: Payment status.
                required:
                  - status
                additionalProperties: false
              payWithInvoice:
                type: object
                properties:
                  creditPackages:
                    type: boolean
                    description: Whether credit packages are invoiced.
                  desks:
                    type: boolean
                    description: Whether desk bookings are invoiced.
                  equipment:
                    description: Whether equipment bookings are invoiced.
                    type: boolean
                  events:
                    type: boolean
                    description: Whether events are invoiced.
                  parking:
                    description: Whether parking bookings are invoiced.
                    type: boolean
                  rooms:
                    type: boolean
                    description: Whether room bookings are invoiced.
                  shop:
                    type: boolean
                    description: Whether shop purchases are invoiced.
                required:
                  - creditPackages
                  - desks
                  - events
                  - rooms
                  - shop
                additionalProperties: false
                description: Invoice payment settings by product type.
              period:
                type: string
                enum:
                  - day
                  - week
                  - month
                  - threeMonths
                  - sixMonths
                  - year
                description: Billing period.
              price:
                type: number
                description: Total recurring price of the subscription.
              purchaseDate:
                description: ISO timestamp of when the subscription was purchased.
                type: string
                format: date-time
              startDate:
                type: string
                format: date-time
                description: ISO timestamp when the subscription starts.
              startFixed:
                type: boolean
                description: Whether the start date is fixed.
              status:
                type: string
                enum:
                  - active
                  - scheduled
                  - incomplete
                  - incompleteExpired
                  - canceled
                description: Subscription status.
              subscriptionType:
                type: string
                enum:
                  - company
                  - user
                description: Whether the subscription belongs to a company or user.
              timezoneId:
                type: string
                description: Timezone identifier for billing dates.
              user:
                deprecated: true
                description: User associated with this subscription. Deprecated — use customer instead.
                type: object
                properties:
                  about:
                    description: User bio.
                    nullable: true
                    type: string
                  email:
                    description: User email address.
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: User first name.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: User phone number.
                    nullable: true
                    type: string
                  photoUrl:
                    description: User profile photo URL.
                    nullable: true
                    type: string
                  surname:
                    description: User last name.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreator:
                description: User who created this subscription.
                type: object
                properties:
                  about:
                    description: User bio.
                    nullable: true
                    type: string
                  email:
                    description: User email address.
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the user.
                  name:
                    description: User first name.
                    nullable: true
                    type: string
                  phoneNumber:
                    description: User phone number.
                    nullable: true
                    type: string
                  photoUrl:
                    description: User profile photo URL.
                    nullable: true
                    type: string
                  surname:
                    description: User last name.
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRef:
                description: ID of the user associated with this subscription.
                type: string
                format: uuid
            required:
              - addPendingItemsToInvoice
              - advanceInvoicing
              - assignments
              - billingCycleAnchor
              - createDate
              - credits
              - customer
              - customerRef
              - dayPasses
              - id
              - items
              - locationRef
              - networkRef
              - payWithInvoice
              - period
              - price
              - startDate
              - startFixed
              - status
              - subscriptionType
              - timezoneId
            additionalProperties: false
          description: List of subscriptions.
      required:
        - subscriptions
      additionalProperties: false
    subscription:
      type: object
      properties:
        addPendingItemsToInvoice:
          type: boolean
          description: Whether pending items are added to the next invoice.
        advanceInvoicing:
          type: object
          properties:
            days:
              type: number
              description: Number of days before renewal to issue an invoice.
            type:
              type: string
              enum:
                - days
                - default
              description: Advance invoicing mode.
          required:
            - days
            - type
          additionalProperties: false
          description: Advance invoicing settings.
        assignments:
          type: array
          items:
            type: object
            properties:
              entire:
                description: Whether the assignment grants access to the entire resource.
                type: boolean
              id:
                type: string
                format: uuid
                description: Unique identifier of the assignment.
              quantity:
                description: Assigned quantity.
                type: number
              resource:
                type: object
                properties:
                  coverUrl:
                    description: Cover image URL of the assigned resource.
                    type: string
                  id:
                    type: string
                    description: Unique identifier of the assigned resource.
                  title:
                    type: string
                    description: Display name of the assigned resource.
                  type:
                    type: string
                    description: Resource type.
                required:
                  - id
                  - title
                  - type
                additionalProperties: false
                description: Assigned resource details.
              title:
                type: string
                description: Display title of the assignment.
            required:
              - id
              - resource
              - title
            additionalProperties: false
          description: Resource assignments for this subscription.
        billingCycleAnchor:
          type: string
          enum:
            - any
            - day
          description: Billing cycle anchor mode.
        company:
          deprecated: true
          description: Company associated with this subscription. Deprecated — use customer instead.
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the company was created.
            id:
              type: string
              format: uuid
              description: Unique identifier of the company.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this company belongs to.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                  description: Storage key of the company logo.
                url:
                  type: string
                  description: Public URL of the company logo.
              required:
                - key
                - url
              additionalProperties: false
            metadata:
              description: Custom metadata for the company.
              type: object
              additionalProperties: {}
            notes:
              description: Internal notes about the company.
              nullable: true
              type: string
            publicLogoUrl:
              description: Logo URL resolved from the company website.
              type: string
            title:
              type: string
              description: Display name of the company.
          required:
            - createDate
            - id
            - locationRef
            - title
          additionalProperties: false
        companyRef:
          description: ID of the company this subscription belongs to.
          type: string
          format: uuid
        contract:
          description: Contract associated with this subscription.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the contract.
            url:
              type: string
              description: URL of the contract document.
          required:
            - id
            - url
          additionalProperties: false
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the subscription was created.
        credits:
          type: number
          description: Total credits included in the subscription.
        currentInterval:
          description: Current billing interval.
          type: object
          properties:
            endDate:
              type: string
              format: date-time
              description: ISO timestamp when the interval ends.
            futureIntervalItemsCreated:
              description: Whether future interval items have been created.
              type: boolean
            startDate:
              type: string
              format: date-time
              description: ISO timestamp when the interval starts.
          required:
            - endDate
            - startDate
          additionalProperties: false
        customer:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the customer.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                  description: Storage key of the company logo.
                url:
                  type: string
                  description: Public URL of the company logo.
              required:
                - key
                - url
              additionalProperties: false
            publicLogoUrl:
              description: Logo URL resolved from the company website.
              type: string
            title:
              description: Display name of the company customer.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or user.
            user:
              description: User associated with the customer.
              type: object
              properties:
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                photoUrl:
                  description: User profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer billed for this subscription.
        customerRef:
          type: string
          format: uuid
          description: ID of the customer billed for this subscription.
        dayPasses:
          type: number
          description: Total day passes included in the subscription.
        deleteDate:
          description: ISO timestamp of when the subscription was deleted.
          type: string
          format: date-time
        discounts:
          deprecated: true
          description: Maximum synthetic discount percentages across items.
          type: object
          properties:
            creditPackages:
              type: number
              description: Maximum discount percentage for credit packages across items.
            desks:
              type: number
              description: Maximum discount percentage for desk bookings across items.
            equipment:
              type: number
              description: Maximum discount percentage for equipment bookings across items.
            events:
              type: number
              description: Maximum discount percentage for event tickets across items.
            rooms:
              type: number
              description: Maximum discount percentage for room bookings across items.
            shop:
              type: number
              description: Maximum discount percentage for shop products across items.
          required:
            - creditPackages
            - desks
            - equipment
            - events
            - rooms
            - shop
          additionalProperties: false
        endDate:
          description: ISO timestamp when the subscription ends.
          type: string
          format: date-time
        id:
          type: string
          format: uuid
          description: Unique identifier of the subscription.
        items:
          type: array
          items:
            type: object
            properties:
              autoUpdateFromProduct:
                type: boolean
                description: Whether the item syncs from its linked product.
              avigilonAltaGroupRef:
                description: Avigilon Alta access group reference.
                nullable: true
                type: number
              brivoGroupRef:
                description: Brivo access group reference.
                nullable: true
                type: number
              commitmentCycles:
                description: Number of billing cycles in the commitment period.
                type: number
              commitmentEndDate:
                description: ISO timestamp when the commitment period ends.
                type: string
                format: date-time
              couponRef:
                description: ID of the coupon applied to this item.
                type: string
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the item was created.
              credits:
                type: number
                description: Credits included per billing cycle.
              customEnd:
                type: boolean
                description: Whether the item has a custom end date.
              customStart:
                type: boolean
                description: Whether the item has a custom start date.
              customTax:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether custom tax is enabled for this item.
                  rate:
                    type: number
                    description: Custom tax rate as a decimal.
                required:
                  - enabled
                  - rate
                additionalProperties: false
                description: Custom tax settings for this item.
              dayPasses:
                type: number
                description: Day passes included per billing cycle.
              discounts:
                description: Synthetic discount percentages by product type.
                deprecated: true
                type: object
                properties:
                  creditPackages:
                    type: number
                    description: Discount percentage applied to credit packages.
                  desks:
                    type: number
                    description: Discount percentage applied to desk bookings.
                  equipment:
                    type: number
                    description: Discount percentage applied to equipment bookings.
                  events:
                    type: number
                    description: Discount percentage applied to event tickets.
                  rooms:
                    type: number
                    description: Discount percentage applied to room bookings.
                  shop:
                    type: number
                    description: Discount percentage applied to shop products.
                required:
                  - creditPackages
                  - desks
                  - equipment
                  - events
                  - rooms
                  - shop
                additionalProperties: false
              endDate:
                description: ISO timestamp when the item ends.
                type: string
                format: date-time
              endFixed:
                type: boolean
                description: Whether the end date is fixed and cannot shift with billing cycles.
              entire:
                description: Whether the item grants access to the entire resource.
                type: boolean
              exclusiveAccess:
                description: Resources and benefits with exclusive access.
                type: object
                properties:
                  benefitRefs:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Benefit IDs with exclusive access.
                  resourceRefs:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Resource IDs with exclusive access.
                required:
                  - benefitRefs
                  - resourceRefs
                additionalProperties: false
              ezeepBlueGroupRef:
                description: Ezeep Blue group reference.
                nullable: true
                type: string
              grantedDiscounts:
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed discount amount.
                          type: number
                        currencyCode:
                          description: Currency code for amountOff.
                          type: string
                        enabledForCredits:
                          description: Whether the coupon applies to credit purchases.
                          type: boolean
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the coupon.
                        limitedItems:
                          description: Item-level redemption limits.
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether item-level limits are enabled.
                            values:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the limited item.
                                  title:
                                    description: Display name of the limited item.
                                    type: string
                                  type:
                                    type: string
                                    enum:
                                      - roomBookings
                                      - eventSpaceBookings
                                      - conferenceRoomBookings
                                      - meetingRoomBookings
                                      - phoneBoothBookings
                                      - stationBookings
                                      - studioBookings
                                      - hotDeskBookings
                                      - dedicatedDeskBookings
                                      - officeBookings
                                      - parkingBookings
                                      - equipmentBookings
                                      - eventTickets
                                      - shopProducts
                                      - packages
                                      - subscriptionItems
                                    description: Product type of the limited item.
                                required:
                                  - id
                                  - type
                                additionalProperties: false
                                description: Product or package the coupon is limited to.
                              description: Items the coupon applies to when limits are enabled.
                          required:
                            - enabled
                            - values
                          additionalProperties: false
                        limitedRedemption:
                          description: Redemption limits for the coupon.
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether redemption limits are enabled.
                            usage:
                              type: number
                              description: Current redemption count.
                            value:
                              type: number
                              description: Maximum redemption count.
                          required:
                            - enabled
                            - usage
                            - value
                          additionalProperties: false
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types the coupon applies to.
                          type: array
                          items:
                            type: string
                            enum:
                              - roomBookings
                              - eventSpaceBookings
                              - conferenceRoomBookings
                              - meetingRoomBookings
                              - phoneBoothBookings
                              - stationBookings
                              - studioBookings
                              - hotDeskBookings
                              - dedicatedDeskBookings
                              - officeBookings
                              - parkingBookings
                              - equipmentBookings
                              - eventTickets
                              - shopProducts
                              - packages
                              - subscriptionItems
                      required:
                        - id
                      additionalProperties: false
                      description: Granted coupon details.
                  required:
                    - coupon
                  additionalProperties: false
                description: Coupons granted to this item.
              id:
                type: string
                format: uuid
                description: Unique identifier of the subscription item.
              kisiGroupRef:
                description: Kisi access group reference.
                nullable: true
                type: number
              optionRef:
                description: ID of the product option linked to this item.
                type: string
                format: uuid
              plan:
                description: Linked plan details.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the plan.
                  resourceRef:
                    description: Resource reference associated with the plan.
                    type: string
                  title:
                    type: string
                    description: Display name of the plan.
                required:
                  - id
                  - title
                additionalProperties: false
              planRef:
                description: ID of the linked plan.
                type: string
                format: uuid
              price:
                type: number
                description: Price per billing cycle.
              productRef:
                description: ID of the linked product.
                type: string
                format: uuid
              quantity:
                type: number
                description: Quantity of this item.
              resource:
                description: Linked resource details.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the resource.
                  coverUrl:
                    deprecated: true
                    description: Cover image URL of the resource.
                    type: string
                  imageUrl:
                    description: Cover image URL of the resource.
                    type: string
                  title:
                    type: string
                    description: Display name of the resource.
                  type:
                    type: string
                    description: Resource type.
                required:
                  - id
                  - title
                  - type
                additionalProperties: false
              resourceRef:
                description: Reference to the linked resource.
                nullable: true
                type: string
              saltoksAccessGroupRef:
                description: Salto KS access group reference.
                nullable: true
                type: string
              setupFee:
                type: number
                description: One-time setup fee for this item.
              startDate:
                description: ISO timestamp when the item starts.
                type: string
                format: date-time
              startFixed:
                type: boolean
                description: Whether the start date is fixed.
              tapkeyGroupRef:
                description: Tapkey access group reference.
                nullable: true
                type: string
              tier:
                description: Linked tier details.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the tier.
                  title:
                    type: string
                    description: Display name of the tier.
                required:
                  - id
                  - title
                additionalProperties: false
              tierRef:
                description: ID of the linked tier.
                type: string
                format: uuid
              title:
                description: Display title of the item.
                nullable: true
                type: string
              type:
                type: string
                enum:
                  - oneOff
                  - recurring
                description: Billing type of the item.
              unifiAccessGroupRef:
                description: UniFi Access policy reference.
                nullable: true
                type: string
            required:
              - autoUpdateFromProduct
              - createDate
              - credits
              - customEnd
              - customStart
              - customTax
              - dayPasses
              - endFixed
              - grantedDiscounts
              - id
              - price
              - quantity
              - setupFee
              - startFixed
              - type
            additionalProperties: false
          description: Subscription line items.
        locationRef:
          type: string
          format: uuid
          description: ID of the location this subscription belongs to.
        membershipRef:
          description: ID of the membership this subscription belongs to.
          type: string
          format: uuid
        networkRef:
          type: string
          format: uuid
          description: ID of the network this subscription belongs to.
        nextInterval:
          description: Next billing interval.
          type: object
          properties:
            endDate:
              description: ISO timestamp when the next interval ends.
              type: string
              format: date-time
            startDate:
              type: string
              format: date-time
              description: ISO timestamp when the next interval starts.
          required:
            - startDate
          additionalProperties: false
        pausePaymentCollection:
          description: Payment collection pause settings.
          type: object
          properties:
            behavior:
              type: string
              enum:
                - draft
                - void
              description: Behavior while payment collection is paused.
            createDate:
              type: string
              format: date-time
              description: ISO timestamp when payment collection was paused.
            resumesAt:
              description: ISO timestamp when payment collection resumes.
              type: string
              format: date-time
          required:
            - behavior
            - createDate
          additionalProperties: false
        payment:
          description: Payment status for subscriptions created by the current user.
          type: object
          properties:
            request:
              description: Pending payment request details.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the payment request.
                url:
                  type: string
                  description: URL to complete the payment.
              required:
                - id
                - url
              additionalProperties: false
            status:
              type: string
              description: Payment status.
          required:
            - status
          additionalProperties: false
        payWithInvoice:
          type: object
          properties:
            creditPackages:
              type: boolean
              description: Whether credit packages are invoiced.
            desks:
              type: boolean
              description: Whether desk bookings are invoiced.
            equipment:
              description: Whether equipment bookings are invoiced.
              type: boolean
            events:
              type: boolean
              description: Whether events are invoiced.
            parking:
              description: Whether parking bookings are invoiced.
              type: boolean
            rooms:
              type: boolean
              description: Whether room bookings are invoiced.
            shop:
              type: boolean
              description: Whether shop purchases are invoiced.
          required:
            - creditPackages
            - desks
            - events
            - rooms
            - shop
          additionalProperties: false
          description: Invoice payment settings by product type.
        period:
          type: string
          enum:
            - day
            - week
            - month
            - threeMonths
            - sixMonths
            - year
          description: Billing period.
        price:
          type: number
          description: Total recurring price of the subscription.
        purchaseDate:
          description: ISO timestamp of when the subscription was purchased.
          type: string
          format: date-time
        startDate:
          type: string
          format: date-time
          description: ISO timestamp when the subscription starts.
        startFixed:
          type: boolean
          description: Whether the start date is fixed.
        status:
          type: string
          enum:
            - active
            - scheduled
            - incomplete
            - incompleteExpired
            - canceled
          description: Subscription status.
        subscriptionType:
          type: string
          enum:
            - company
            - user
          description: Whether the subscription belongs to a company or user.
        timezoneId:
          type: string
          description: Timezone identifier for billing dates.
        user:
          deprecated: true
          description: User associated with this subscription. Deprecated — use customer instead.
          type: object
          properties:
            about:
              description: User bio.
              nullable: true
              type: string
            email:
              description: User email address.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: User first name.
              nullable: true
              type: string
            phoneNumber:
              description: User phone number.
              nullable: true
              type: string
            photoUrl:
              description: User profile photo URL.
              nullable: true
              type: string
            surname:
              description: User last name.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userCreator:
          description: User who created this subscription.
          type: object
          properties:
            about:
              description: User bio.
              nullable: true
              type: string
            email:
              description: User email address.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: User first name.
              nullable: true
              type: string
            phoneNumber:
              description: User phone number.
              nullable: true
              type: string
            photoUrl:
              description: User profile photo URL.
              nullable: true
              type: string
            surname:
              description: User last name.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userRef:
          description: ID of the user associated with this subscription.
          type: string
          format: uuid
      required:
        - addPendingItemsToInvoice
        - advanceInvoicing
        - assignments
        - billingCycleAnchor
        - createDate
        - credits
        - customer
        - customerRef
        - dayPasses
        - id
        - items
        - locationRef
        - networkRef
        - payWithInvoice
        - period
        - price
        - startDate
        - startFixed
        - status
        - subscriptionType
        - timezoneId
      additionalProperties: false
    getSubscription:
      type: object
      properties:
        subscription:
          type: object
          properties:
            addPendingItemsToInvoice:
              type: boolean
              description: Whether pending items are added to the next invoice.
            advanceInvoicing:
              type: object
              properties:
                days:
                  type: number
                  description: Number of days before renewal to issue an invoice.
                type:
                  type: string
                  enum:
                    - days
                    - default
                  description: Advance invoicing mode.
              required:
                - days
                - type
              additionalProperties: false
              description: Advance invoicing settings.
            assignments:
              type: array
              items:
                type: object
                properties:
                  entire:
                    description: Whether the assignment grants access to the entire resource.
                    type: boolean
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the assignment.
                  quantity:
                    description: Assigned quantity.
                    type: number
                  resource:
                    type: object
                    properties:
                      coverUrl:
                        description: Cover image URL of the assigned resource.
                        type: string
                      id:
                        type: string
                        description: Unique identifier of the assigned resource.
                      title:
                        type: string
                        description: Display name of the assigned resource.
                      type:
                        type: string
                        description: Resource type.
                    required:
                      - id
                      - title
                      - type
                    additionalProperties: false
                    description: Assigned resource details.
                  title:
                    type: string
                    description: Display title of the assignment.
                required:
                  - id
                  - resource
                  - title
                additionalProperties: false
              description: Resource assignments for this subscription.
            billingCycleAnchor:
              type: string
              enum:
                - any
                - day
              description: Billing cycle anchor mode.
            company:
              deprecated: true
              description: Company associated with this subscription. Deprecated — use customer instead.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of when the company was created.
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the company.
                locationRef:
                  type: string
                  format: uuid
                  description: ID of the location this company belongs to.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the company logo.
                    url:
                      type: string
                      description: Public URL of the company logo.
                  required:
                    - key
                    - url
                  additionalProperties: false
                metadata:
                  description: Custom metadata for the company.
                  type: object
                  additionalProperties: {}
                notes:
                  description: Internal notes about the company.
                  nullable: true
                  type: string
                publicLogoUrl:
                  description: Logo URL resolved from the company website.
                  type: string
                title:
                  type: string
                  description: Display name of the company.
              required:
                - createDate
                - id
                - locationRef
                - title
              additionalProperties: false
            companyRef:
              description: ID of the company this subscription belongs to.
              type: string
              format: uuid
            contract:
              description: Contract associated with this subscription.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the contract.
                url:
                  type: string
                  description: URL of the contract document.
              required:
                - id
                - url
              additionalProperties: false
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the subscription was created.
            credits:
              type: number
              description: Total credits included in the subscription.
            currentInterval:
              description: Current billing interval.
              type: object
              properties:
                endDate:
                  type: string
                  format: date-time
                  description: ISO timestamp when the interval ends.
                futureIntervalItemsCreated:
                  description: Whether future interval items have been created.
                  type: boolean
                startDate:
                  type: string
                  format: date-time
                  description: ISO timestamp when the interval starts.
              required:
                - endDate
                - startDate
              additionalProperties: false
            customer:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the customer.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the company logo.
                    url:
                      type: string
                      description: Public URL of the company logo.
                  required:
                    - key
                    - url
                  additionalProperties: false
                publicLogoUrl:
                  description: Logo URL resolved from the company website.
                  type: string
                title:
                  description: Display name of the company customer.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or user.
                user:
                  description: User associated with the customer.
                  type: object
                  properties:
                    email:
                      description: User email address.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the user.
                    name:
                      description: User first name.
                      nullable: true
                      type: string
                    photoUrl:
                      description: User profile photo URL.
                      nullable: true
                      type: string
                    surname:
                      description: User last name.
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
              description: Customer billed for this subscription.
            customerRef:
              type: string
              format: uuid
              description: ID of the customer billed for this subscription.
            dayPasses:
              type: number
              description: Total day passes included in the subscription.
            deleteDate:
              description: ISO timestamp of when the subscription was deleted.
              type: string
              format: date-time
            discounts:
              deprecated: true
              description: Maximum synthetic discount percentages across items.
              type: object
              properties:
                creditPackages:
                  type: number
                  description: Maximum discount percentage for credit packages across items.
                desks:
                  type: number
                  description: Maximum discount percentage for desk bookings across items.
                equipment:
                  type: number
                  description: Maximum discount percentage for equipment bookings across items.
                events:
                  type: number
                  description: Maximum discount percentage for event tickets across items.
                rooms:
                  type: number
                  description: Maximum discount percentage for room bookings across items.
                shop:
                  type: number
                  description: Maximum discount percentage for shop products across items.
              required:
                - creditPackages
                - desks
                - equipment
                - events
                - rooms
                - shop
              additionalProperties: false
            endDate:
              description: ISO timestamp when the subscription ends.
              type: string
              format: date-time
            id:
              type: string
              format: uuid
              description: Unique identifier of the subscription.
            items:
              type: array
              items:
                type: object
                properties:
                  autoUpdateFromProduct:
                    type: boolean
                    description: Whether the item syncs from its linked product.
                  avigilonAltaGroupRef:
                    description: Avigilon Alta access group reference.
                    nullable: true
                    type: number
                  brivoGroupRef:
                    description: Brivo access group reference.
                    nullable: true
                    type: number
                  commitmentCycles:
                    description: Number of billing cycles in the commitment period.
                    type: number
                  commitmentEndDate:
                    description: ISO timestamp when the commitment period ends.
                    type: string
                    format: date-time
                  couponRef:
                    description: ID of the coupon applied to this item.
                    type: string
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of when the item was created.
                  credits:
                    type: number
                    description: Credits included per billing cycle.
                  customEnd:
                    type: boolean
                    description: Whether the item has a custom end date.
                  customStart:
                    type: boolean
                    description: Whether the item has a custom start date.
                  customTax:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled for this item.
                      rate:
                        type: number
                        description: Custom tax rate as a decimal.
                    required:
                      - enabled
                      - rate
                    additionalProperties: false
                    description: Custom tax settings for this item.
                  dayPasses:
                    type: number
                    description: Day passes included per billing cycle.
                  discounts:
                    description: Synthetic discount percentages by product type.
                    deprecated: true
                    type: object
                    properties:
                      creditPackages:
                        type: number
                        description: Discount percentage applied to credit packages.
                      desks:
                        type: number
                        description: Discount percentage applied to desk bookings.
                      equipment:
                        type: number
                        description: Discount percentage applied to equipment bookings.
                      events:
                        type: number
                        description: Discount percentage applied to event tickets.
                      rooms:
                        type: number
                        description: Discount percentage applied to room bookings.
                      shop:
                        type: number
                        description: Discount percentage applied to shop products.
                    required:
                      - creditPackages
                      - desks
                      - equipment
                      - events
                      - rooms
                      - shop
                    additionalProperties: false
                  endDate:
                    description: ISO timestamp when the item ends.
                    type: string
                    format: date-time
                  endFixed:
                    type: boolean
                    description: Whether the end date is fixed and cannot shift with billing cycles.
                  entire:
                    description: Whether the item grants access to the entire resource.
                    type: boolean
                  exclusiveAccess:
                    description: Resources and benefits with exclusive access.
                    type: object
                    properties:
                      benefitRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Benefit IDs with exclusive access.
                      resourceRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Resource IDs with exclusive access.
                    required:
                      - benefitRefs
                      - resourceRefs
                    additionalProperties: false
                  ezeepBlueGroupRef:
                    description: Ezeep Blue group reference.
                    nullable: true
                    type: string
                  grantedDiscounts:
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            enabledForCredits:
                              description: Whether the coupon applies to credit purchases.
                              type: boolean
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the coupon.
                            limitedItems:
                              description: Item-level redemption limits.
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Whether item-level limits are enabled.
                                values:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                        format: uuid
                                        description: Unique identifier of the limited item.
                                      title:
                                        description: Display name of the limited item.
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                          - roomBookings
                                          - eventSpaceBookings
                                          - conferenceRoomBookings
                                          - meetingRoomBookings
                                          - phoneBoothBookings
                                          - stationBookings
                                          - studioBookings
                                          - hotDeskBookings
                                          - dedicatedDeskBookings
                                          - officeBookings
                                          - parkingBookings
                                          - equipmentBookings
                                          - eventTickets
                                          - shopProducts
                                          - packages
                                          - subscriptionItems
                                        description: Product type of the limited item.
                                    required:
                                      - id
                                      - type
                                    additionalProperties: false
                                    description: Product or package the coupon is limited to.
                                  description: Items the coupon applies to when limits are enabled.
                              required:
                                - enabled
                                - values
                              additionalProperties: false
                            limitedRedemption:
                              description: Redemption limits for the coupon.
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Whether redemption limits are enabled.
                                usage:
                                  type: number
                                  description: Current redemption count.
                                value:
                                  type: number
                                  description: Maximum redemption count.
                              required:
                                - enabled
                                - usage
                                - value
                              additionalProperties: false
                            percentOff:
                              description: Percentage discount.
                              type: number
                            productTypes:
                              description: Product types the coupon applies to.
                              type: array
                              items:
                                type: string
                                enum:
                                  - roomBookings
                                  - eventSpaceBookings
                                  - conferenceRoomBookings
                                  - meetingRoomBookings
                                  - phoneBoothBookings
                                  - stationBookings
                                  - studioBookings
                                  - hotDeskBookings
                                  - dedicatedDeskBookings
                                  - officeBookings
                                  - parkingBookings
                                  - equipmentBookings
                                  - eventTickets
                                  - shopProducts
                                  - packages
                                  - subscriptionItems
                          required:
                            - id
                          additionalProperties: false
                          description: Granted coupon details.
                      required:
                        - coupon
                      additionalProperties: false
                    description: Coupons granted to this item.
                  id:
                    type: string
                    format: uuid
                    description: Unique identifier of the subscription item.
                  kisiGroupRef:
                    description: Kisi access group reference.
                    nullable: true
                    type: number
                  optionRef:
                    description: ID of the product option linked to this item.
                    type: string
                    format: uuid
                  plan:
                    description: Linked plan details.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the plan.
                      resourceRef:
                        description: Resource reference associated with the plan.
                        type: string
                      title:
                        type: string
                        description: Display name of the plan.
                    required:
                      - id
                      - title
                    additionalProperties: false
                  planRef:
                    description: ID of the linked plan.
                    type: string
                    format: uuid
                  price:
                    type: number
                    description: Price per billing cycle.
                  productRef:
                    description: ID of the linked product.
                    type: string
                    format: uuid
                  quantity:
                    type: number
                    description: Quantity of this item.
                  resource:
                    description: Linked resource details.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the resource.
                      coverUrl:
                        deprecated: true
                        description: Cover image URL of the resource.
                        type: string
                      imageUrl:
                        description: Cover image URL of the resource.
                        type: string
                      title:
                        type: string
                        description: Display name of the resource.
                      type:
                        type: string
                        description: Resource type.
                    required:
                      - id
                      - title
                      - type
                    additionalProperties: false
                  resourceRef:
                    description: Reference to the linked resource.
                    nullable: true
                    type: string
                  saltoksAccessGroupRef:
                    description: Salto KS access group reference.
                    nullable: true
                    type: string
                  setupFee:
                    type: number
                    description: One-time setup fee for this item.
                  startDate:
                    description: ISO timestamp when the item starts.
                    type: string
                    format: date-time
                  startFixed:
                    type: boolean
                    description: Whether the start date is fixed.
                  tapkeyGroupRef:
                    description: Tapkey access group reference.
                    nullable: true
                    type: string
                  tier:
                    description: Linked tier details.
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the tier.
                      title:
                        type: string
                        description: Display name of the tier.
                    required:
                      - id
                      - title
                    additionalProperties: false
                  tierRef:
                    description: ID of the linked tier.
                    type: string
                    format: uuid
                  title:
                    description: Display title of the item.
                    nullable: true
                    type: string
                  type:
                    type: string
                    enum:
                      - oneOff
                      - recurring
                    description: Billing type of the item.
                  unifiAccessGroupRef:
                    description: UniFi Access policy reference.
                    nullable: true
                    type: string
                required:
                  - autoUpdateFromProduct
                  - createDate
                  - credits
                  - customEnd
                  - customStart
                  - customTax
                  - dayPasses
                  - endFixed
                  - grantedDiscounts
                  - id
                  - price
                  - quantity
                  - setupFee
                  - startFixed
                  - type
                additionalProperties: false
              description: Subscription line items.
            locationRef:
              type: string
              format: uuid
              description: ID of the location this subscription belongs to.
            membershipRef:
              description: ID of the membership this subscription belongs to.
              type: string
              format: uuid
            networkRef:
              type: string
              format: uuid
              description: ID of the network this subscription belongs to.
            nextInterval:
              description: Next billing interval.
              type: object
              properties:
                endDate:
                  description: ISO timestamp when the next interval ends.
                  type: string
                  format: date-time
                startDate:
                  type: string
                  format: date-time
                  description: ISO timestamp when the next interval starts.
              required:
                - startDate
              additionalProperties: false
            pausePaymentCollection:
              description: Payment collection pause settings.
              type: object
              properties:
                behavior:
                  type: string
                  enum:
                    - draft
                    - void
                  description: Behavior while payment collection is paused.
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp when payment collection was paused.
                resumesAt:
                  description: ISO timestamp when payment collection resumes.
                  type: string
                  format: date-time
              required:
                - behavior
                - createDate
              additionalProperties: false
            payment:
              description: Payment status for subscriptions created by the current user.
              type: object
              properties:
                request:
                  description: Pending payment request details.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the payment request.
                    url:
                      type: string
                      description: URL to complete the payment.
                  required:
                    - id
                    - url
                  additionalProperties: false
                status:
                  type: string
                  description: Payment status.
              required:
                - status
              additionalProperties: false
            payWithInvoice:
              type: object
              properties:
                creditPackages:
                  type: boolean
                  description: Whether credit packages are invoiced.
                desks:
                  type: boolean
                  description: Whether desk bookings are invoiced.
                equipment:
                  description: Whether equipment bookings are invoiced.
                  type: boolean
                events:
                  type: boolean
                  description: Whether events are invoiced.
                parking:
                  description: Whether parking bookings are invoiced.
                  type: boolean
                rooms:
                  type: boolean
                  description: Whether room bookings are invoiced.
                shop:
                  type: boolean
                  description: Whether shop purchases are invoiced.
              required:
                - creditPackages
                - desks
                - events
                - rooms
                - shop
              additionalProperties: false
              description: Invoice payment settings by product type.
            period:
              type: string
              enum:
                - day
                - week
                - month
                - threeMonths
                - sixMonths
                - year
              description: Billing period.
            price:
              type: number
              description: Total recurring price of the subscription.
            purchaseDate:
              description: ISO timestamp of when the subscription was purchased.
              type: string
              format: date-time
            startDate:
              type: string
              format: date-time
              description: ISO timestamp when the subscription starts.
            startFixed:
              type: boolean
              description: Whether the start date is fixed.
            status:
              type: string
              enum:
                - active
                - scheduled
                - incomplete
                - incompleteExpired
                - canceled
              description: Subscription status.
            subscriptionType:
              type: string
              enum:
                - company
                - user
              description: Whether the subscription belongs to a company or user.
            timezoneId:
              type: string
              description: Timezone identifier for billing dates.
            user:
              deprecated: true
              description: User associated with this subscription. Deprecated — use customer instead.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: User phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: User profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreator:
              description: User who created this subscription.
              type: object
              properties:
                about:
                  description: User bio.
                  nullable: true
                  type: string
                email:
                  description: User email address.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: User first name.
                  nullable: true
                  type: string
                phoneNumber:
                  description: User phone number.
                  nullable: true
                  type: string
                photoUrl:
                  description: User profile photo URL.
                  nullable: true
                  type: string
                surname:
                  description: User last name.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userRef:
              description: ID of the user associated with this subscription.
              type: string
              format: uuid
          required:
            - addPendingItemsToInvoice
            - advanceInvoicing
            - assignments
            - billingCycleAnchor
            - createDate
            - credits
            - customer
            - customerRef
            - dayPasses
            - id
            - items
            - locationRef
            - networkRef
            - payWithInvoice
            - period
            - price
            - startDate
            - startFixed
            - status
            - subscriptionType
            - timezoneId
          additionalProperties: false
          description: The subscription.
      required:
        - subscription
      additionalProperties: false
    ticket:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the ticket was created.
        description:
          type: string
          description: Ticket description text.
        id:
          type: string
          format: uuid
          description: Unique identifier of the ticket.
        locationRef:
          type: string
          format: uuid
          description: ID of the location.
        membershipAssignee:
          deprecated: true
          description: Assignee membership details. Deprecated, use userAssignee instead.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            roleType:
              type: string
              description: Role type of the membership in the location.
            type:
              type: string
              description: Membership type.
            user:
              description: User associated with the membership.
              type: object
              properties:
                blocked:
                  description: Whether the user is blocked.
                  type: boolean
                email:
                  description: Email address when visible to the caller.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number when visible to the caller.
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  description: Profile photo URL.
                  type: string
                surname:
                  description: Surname of the user.
                  nullable: true
                  type: string
              required:
                - id
                - photoUrl
              additionalProperties: false
          required:
            - id
            - roleType
            - type
          additionalProperties: false
        membershipRefAssignee:
          deprecated: true
          description: ID of the assignee membership. Deprecated, use userRefAssignee instead.
          type: string
          format: uuid
        membershipRefRequester:
          description: ID of the requester membership.
          type: string
          format: uuid
        membershipRequester:
          description: Requester membership details.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            roleType:
              type: string
              description: Role type of the membership in the location.
            type:
              type: string
              description: Membership type.
            user:
              description: User associated with the membership.
              type: object
              properties:
                blocked:
                  description: Whether the user is blocked.
                  type: boolean
                email:
                  description: Email address when visible to the caller.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number when visible to the caller.
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  description: Profile photo URL.
                  type: string
                surname:
                  description: Surname of the user.
                  nullable: true
                  type: string
              required:
                - id
                - photoUrl
              additionalProperties: false
          required:
            - id
            - roleType
            - type
          additionalProperties: false
        number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Ticket number within the location.
        status:
          type: string
          enum:
            - closed
            - inProgress
            - new
            - solved
          description: Ticket status.
        statusUpdateDate:
          description: ISO timestamp of the last status change.
          type: string
          format: date-time
        type:
          type: string
          enum:
            - access
            - accountAndBilling
            - bookings
            - cleaning
            - discriminationAndHarassment
            - internet
            - mailAndPackages
            - noiseAndAcoustics
            - offensiveOrObjectionableContent
            - other
            - printing
            - repairAndMaintenance
            - temperatureAndVentilation
            - websiteAndApp
          description: Ticket category type.
        updateDate:
          type: string
          format: date-time
          description: ISO timestamp of the last update.
        userAssignee:
          description: Assignee user details.
          nullable: true
          type: object
          properties:
            blocked:
              description: Whether the user is blocked.
              type: boolean
            email:
              description: Email address when visible to the caller.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: First name of the user.
              nullable: true
              type: string
            phoneNumber:
              description: Phone number when visible to the caller.
              nullable: true
              type: string
            photoUrl:
              nullable: true
              description: Profile photo URL.
              type: string
            surname:
              description: Surname of the user.
              nullable: true
              type: string
          required:
            - id
            - photoUrl
          additionalProperties: false
        userRefAssignee:
          description: ID of the assignee user.
          type: string
          format: uuid
        userRefsAssigneeSuggested:
          description: IDs of the users Lem AI suggests as assignees, best match first. Only returned to admins with support permission.
          type: array
          items:
            type: string
            format: uuid
        userRequester:
          description: Requester user details.
          nullable: true
          type: object
          properties:
            blocked:
              description: Whether the user is blocked.
              type: boolean
            email:
              description: Email address when visible to the caller.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the user.
            name:
              description: First name of the user.
              nullable: true
              type: string
            phoneNumber:
              description: Phone number when visible to the caller.
              nullable: true
              type: string
            photoUrl:
              nullable: true
              description: Profile photo URL.
              type: string
            surname:
              description: Surname of the user.
              nullable: true
              type: string
          required:
            - id
            - photoUrl
          additionalProperties: false
      required:
        - createDate
        - description
        - id
        - locationRef
        - number
        - status
        - type
        - updateDate
      additionalProperties: false
    ticketActivity:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the activity was created.
        data:
          description: Activity-specific payload.
          type: object
          properties:
            attachments:
              description: Comment attachments.
              type: array
              items:
                type: object
                properties:
                  height:
                    description: Image height in pixels.
                    type: number
                  key:
                    type: string
                    description: Storage key of the attachment.
                  mime:
                    type: string
                    description: MIME type of the attachment.
                  name:
                    type: string
                    description: File name of the attachment.
                  size:
                    type: number
                    description: File size in bytes.
                  url:
                    type: string
                    description: Public URL of the attachment.
                  width:
                    description: Image width in pixels.
                    type: number
                required:
                  - key
                  - mime
                  - name
                  - size
                  - url
                additionalProperties: false
            membershipAssignee:
              deprecated: true
              description: Assignee after the update. Deprecated, use userAssignee instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the membership.
                roleType:
                  type: string
                  description: Role type of the membership in the location.
                type:
                  type: string
                  description: Membership type.
                user:
                  description: User associated with the membership.
                  type: object
                  properties:
                    blocked:
                      description: Whether the user is blocked.
                      type: boolean
                    email:
                      description: Email address when visible to the caller.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the user.
                    name:
                      description: First name of the user.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number when visible to the caller.
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      description: Profile photo URL.
                      type: string
                    surname:
                      description: Surname of the user.
                      nullable: true
                      type: string
                  required:
                    - id
                    - photoUrl
                  additionalProperties: false
              required:
                - id
                - roleType
                - type
              additionalProperties: false
            previousAttributes:
              description: Previous attribute values before the update.
              type: object
              properties:
                membershipAssignee:
                  deprecated: true
                  description: Assignee before the update. Deprecated, use userAssignee instead.
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the membership.
                    roleType:
                      type: string
                      description: Role type of the membership in the location.
                    type:
                      type: string
                      description: Membership type.
                    user:
                      description: User associated with the membership.
                      type: object
                      properties:
                        blocked:
                          description: Whether the user is blocked.
                          type: boolean
                        email:
                          description: Email address when visible to the caller.
                          nullable: true
                          type: string
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the user.
                        name:
                          description: First name of the user.
                          nullable: true
                          type: string
                        phoneNumber:
                          description: Phone number when visible to the caller.
                          nullable: true
                          type: string
                        photoUrl:
                          nullable: true
                          description: Profile photo URL.
                          type: string
                        surname:
                          description: Surname of the user.
                          nullable: true
                          type: string
                      required:
                        - id
                        - photoUrl
                      additionalProperties: false
                  required:
                    - id
                    - roleType
                    - type
                  additionalProperties: false
                status:
                  description: Status before the update.
                  type: string
                  enum:
                    - closed
                    - inProgress
                    - new
                    - solved
                userAssignee:
                  description: Assignee user before the update.
                  type: object
                  properties:
                    blocked:
                      description: Whether the user is blocked.
                      type: boolean
                    email:
                      description: Email address when visible to the caller.
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the user.
                    name:
                      description: First name of the user.
                      nullable: true
                      type: string
                    phoneNumber:
                      description: Phone number when visible to the caller.
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      description: Profile photo URL.
                      type: string
                    surname:
                      description: Surname of the user.
                      nullable: true
                      type: string
                  required:
                    - id
                    - photoUrl
                  additionalProperties: false
                userRefAssignee:
                  description: ID of the assignee user before the update.
                  type: string
                  format: uuid
              additionalProperties: false
            status:
              description: Status after the update.
              type: string
              enum:
                - closed
                - inProgress
                - new
                - solved
            text:
              description: Comment text.
              type: string
            userAssignee:
              description: Assignee user after the update.
              type: object
              properties:
                blocked:
                  description: Whether the user is blocked.
                  type: boolean
                email:
                  description: Email address when visible to the caller.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number when visible to the caller.
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  description: Profile photo URL.
                  type: string
                surname:
                  description: Surname of the user.
                  nullable: true
                  type: string
              required:
                - id
                - photoUrl
              additionalProperties: false
            userRefAssignee:
              description: ID of the assignee user after the update.
              type: string
              format: uuid
          additionalProperties: false
        id:
          type: string
          format: uuid
          description: Unique identifier of the activity.
        lemAI:
          description: Present when the activity was created by Lem AI.
          type: object
          properties:
            name:
              type: string
              description: Display name of the Lem AI assistant.
            photoUrl:
              type: string
              description: Profile image URL of the Lem AI assistant.
          required:
            - name
            - photoUrl
          additionalProperties: false
        membership:
          description: Membership of the user who performed the action.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the membership.
            roleType:
              type: string
              description: Role type of the membership in the location.
            type:
              type: string
              description: Membership type.
            user:
              description: User associated with the membership.
              type: object
              properties:
                blocked:
                  description: Whether the user is blocked.
                  type: boolean
                email:
                  description: Email address when visible to the caller.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the user.
                name:
                  description: First name of the user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number when visible to the caller.
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  description: Profile photo URL.
                  type: string
                surname:
                  description: Surname of the user.
                  nullable: true
                  type: string
              required:
                - id
                - photoUrl
              additionalProperties: false
          required:
            - id
            - roleType
            - type
          additionalProperties: false
        ticketRef:
          type: string
          format: uuid
          description: ID of the ticket.
        type:
          type: string
          enum:
            - assigneeUpdated
            - comment
            - statusUpdated
            - ticketCreated
          description: Type of ticket activity.
        updateDate:
          description: ISO timestamp of when the comment text was last edited.
          type: string
          format: date-time
      required:
        - createDate
        - id
        - ticketRef
        - type
      additionalProperties: false
    createSupportTicketMedia:
      type: object
      properties:
        media:
          type: object
          properties:
            key:
              type: string
              description: Storage key of the file. Pass it as activity.attachments[0].key when creating a ticket comment.
            mimeType:
              type: string
              description: MIME type of the file.
            name:
              type: string
              description: File name shown with the comment.
            size:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Size of the file in bytes.
            status:
              type: string
              enum:
                - pending
              description: 'Upload status. pending: the file has not been received yet; attach it once the PUT request succeeds.'
            upload:
              type: object
              properties:
                expirationDate:
                  type: string
                  format: date-time
                  description: ISO timestamp after which the upload URL is rejected.
                headers:
                  type: object
                  properties:
                    Content-Length:
                      type: string
                      description: Must equal the size declared when the upload was created.
                    Content-Type:
                      type: string
                      description: Must equal the mimeType declared when the upload was created.
                  required:
                    - Content-Length
                    - Content-Type
                  additionalProperties: false
                  description: Headers the PUT request must send exactly as given; the signature covers them.
                method:
                  type: string
                  enum:
                    - PUT
                  description: HTTP method of the upload request.
                url:
                  type: string
                  description: Presigned URL to send the raw file bytes to.
              required:
                - expirationDate
                - headers
                - method
                - url
              additionalProperties: false
              description: How to upload the file. Send the raw bytes as the request body, not a multipart form.
            url:
              type: string
              description: Public URL the file is served from once uploaded.
          required:
            - key
            - mimeType
            - name
            - size
            - status
            - upload
            - url
          additionalProperties: false
          description: The created media upload.
      required:
        - media
      additionalProperties: false
    getScheduledCreditsTransactions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results. Returned when more results exist.
          type: string
        scheduledTransactions:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Total credits amount (absolute sum of expiring and permanent).
              booking:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Booking id.
                  resource:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      title:
                        type: string
                        description: Resource title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Booked resource.
                required:
                  - id
                  - resource
                additionalProperties: false
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of company creation.
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  locationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  metadata:
                    description: Company metadata.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes.
                    type: string
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  subscriptionRef:
                    nullable: true
                    description: Primary subscription id.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Company name.
                required:
                  - createDate
                  - id
                  - locationRef
                  - subscriptionRef
                  - title
                additionalProperties: false
              companyRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the scheduled transaction was created.
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this scheduled transaction.
              customerRefCreatedBy:
                description: ID of the customer the user who created the scheduled transaction belongs to.
                type: string
                format: uuid
              discounts:
                description: Discounts applied to the scheduled transaction.
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed amount discount.
                          type: number
                        currencyCode:
                          description: Currency of the fixed amount discount.
                          type: string
                        id:
                          type: string
                          description: Coupon id.
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types the coupon applies to.
                          type: array
                          items:
                            type: string
                        type:
                          type: string
                          description: Coupon type.
                      required:
                        - id
                        - type
                      additionalProperties: false
                      description: Applied coupon.
                    promocode:
                      description: Promocode the coupon was applied with.
                      type: object
                      properties:
                        code:
                          type: string
                          description: Promocode.
                        expiration:
                          description: Promocode expiration date.
                          type: string
                        id:
                          type: string
                          format: uuid
                          description: Promocode id.
                        limitByFirstPurchase:
                          description: Whether the promocode is limited to the first purchase.
                          type: boolean
                      required:
                        - code
                        - id
                      additionalProperties: false
                    subscriptionId:
                      description: ID of the subscription this discount is associated with.
                      type: string
                      format: uuid
                  required:
                    - coupon
                  additionalProperties: false
              id:
                type: string
                format: uuid
                description: Unique identifier of the scheduled transaction.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              membershipRefCreator:
                deprecated: true
                description: Deprecated. Use customerRefCreatedBy instead.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              product:
                description: Product details.
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Display title of the product.
                  type:
                    type: string
                    enum:
                      - booking
                    description: Product type.
                required:
                  - title
                  - type
                additionalProperties: false
              resolveDate:
                description: ISO timestamp of when the scheduled transaction was resolved into a credits transaction.
                type: string
                format: date-time
              scheduleDate:
                type: string
                format: date-time
                description: Date when the transaction is scheduled to resolve, anchored to the subscription interval the booking falls into. Once a charge has been deferred it is the latest date the transaction can still be charged before the booking is canceled.
              status:
                type: string
                description: Transaction status.
              timezoneId:
                type: string
                description: Timezone of the subscription.
              type:
                type: string
                enum:
                  - booking
                description: Scheduled credits transaction type.
              user:
                deprecated: true
                description: Deprecated. Use userOwner instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreatedBy:
                description: User who created the transaction.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRefCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: string
                format: uuid
              userRefOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: string
                format: uuid
            required:
              - amount
              - createDate
              - customer
              - id
              - locationRef
              - networkRef
              - scheduleDate
              - status
              - timezoneId
              - type
            additionalProperties: false
          description: List of scheduled credits transactions.
        searchQueryNext:
          description: Query string with nextPageToken and the request filter to fetch the next page of results. Returned when more results exist.
          type: string
      required:
        - scheduledTransactions
      additionalProperties: false
    getCreditsTransactions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Ready-to-use query string with the current filters and nextPageToken to fetch the next page of results.
          type: string
        transactions:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Total credits amount (absolute sum of expiring and permanent).
              amounts:
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Amount deducted from this balance bucket.
                    expirationDate:
                      description: Expiration date for expiring balances.
                      type: string
                      format: date-time
                    subscriptionRef:
                      description: Subscription associated with expiring balances.
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - expiring
                        - permanent
                      description: Balance bucket type.
                  required:
                    - amount
                    - type
                  additionalProperties: false
                description: Per-bucket amounts for charge transactions.
              booking:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  endDate:
                    description: Booking end date.
                    type: string
                    format: date-time
                  id:
                    type: string
                    format: uuid
                    description: Booking id.
                  resource:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      title:
                        type: string
                        description: Resource title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Booked resource.
                  startDate:
                    description: Booking start date.
                    type: string
                    format: date-time
                required:
                  - id
                  - resource
                additionalProperties: false
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of company creation.
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  locationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  metadata:
                    description: Company metadata.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes.
                    type: string
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  subscriptionRef:
                    nullable: true
                    description: Primary subscription id.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Company name.
                required:
                  - createDate
                  - id
                  - locationRef
                  - subscriptionRef
                  - title
                additionalProperties: false
              companyRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the transaction was created.
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this transaction.
              customerRefCreatedBy:
                description: ID of the customer the user who created the transaction belongs to.
                type: string
                format: uuid
              description:
                description: Transaction description.
                type: string
              discounts:
                description: Discounts applied to the transaction.
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed amount discount.
                          type: number
                        currencyCode:
                          description: Currency of the fixed amount discount.
                          type: string
                        id:
                          type: string
                          description: Coupon id.
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types the coupon applies to.
                          type: array
                          items:
                            type: string
                        type:
                          type: string
                          description: Coupon type.
                      required:
                        - id
                        - type
                      additionalProperties: false
                      description: Applied coupon.
                    promocode:
                      description: Promocode the coupon was applied with.
                      type: object
                      properties:
                        code:
                          type: string
                          description: Promocode.
                        expiration:
                          description: Promocode expiration date.
                          type: string
                        id:
                          type: string
                          format: uuid
                          description: Promocode id.
                        limitByFirstPurchase:
                          description: Whether the promocode is limited to the first purchase.
                          type: boolean
                      required:
                        - code
                        - id
                      additionalProperties: false
                    subscriptionId:
                      description: ID of the subscription this discount is associated with.
                      type: string
                      format: uuid
                  required:
                    - coupon
                  additionalProperties: false
              expiringAmount:
                deprecated: true
                description: Deprecated. Use amounts instead.
                type: number
              id:
                type: string
                format: uuid
                description: Unique identifier of the transaction.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              membershipRefCreator:
                deprecated: true
                description: Deprecated. Use customerRefCreatedBy instead.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              order:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Order id.
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Order item id.
                        product:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Product id.
                            option:
                              description: Product option.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Product option id.
                                title:
                                  type: string
                                  description: Product option title.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            title:
                              type: string
                              description: Product title.
                          required:
                            - id
                            - title
                          additionalProperties: false
                          description: Ordered product.
                        quantity:
                          type: number
                          description: Quantity of units.
                      required:
                        - id
                        - product
                        - quantity
                      additionalProperties: false
                    description: Order items.
                required:
                  - id
                  - items
                additionalProperties: false
              permanentAmount:
                deprecated: true
                description: Deprecated. Use amounts instead.
                type: number
              product:
                description: Product details.
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  eventTicketRef:
                    description: ID of the associated event ticket.
                    type: string
                    format: uuid
                  orderRef:
                    description: ID of the associated order.
                    type: string
                    format: uuid
                  title:
                    description: Display title of the product.
                    type: string
                  type:
                    description: Product type.
                    type: string
                    enum:
                      - booking
                      - eventTicket
                      - order
                additionalProperties: false
              refund:
                deprecated: true
                description: Deprecated.
                type: object
                properties:
                  amount:
                    type: number
                    description: Refunded amount.
                  createDate:
                    type: string
                    format: date-time
                    description: Refund creation timestamp.
                required:
                  - amount
                  - createDate
                additionalProperties: false
              status:
                type: string
                description: Transaction status.
              ticket:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  createDate:
                    description: Ticket creation timestamp.
                    type: string
                    format: date-time
                  event:
                    description: Event details.
                    type: object
                    properties:
                      endDate:
                        description: Event end date.
                        type: string
                        format: date-time
                      id:
                        type: string
                        format: uuid
                        description: Event id.
                      startDate:
                        description: Event start date.
                        type: string
                        format: date-time
                      title:
                        type: string
                        description: Event title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                  id:
                    type: string
                    format: uuid
                    description: Ticket id.
                  quantity:
                    type: number
                    description: Number of tickets.
                required:
                  - id
                  - quantity
                additionalProperties: false
              type:
                type: string
                enum:
                  - adminAllocation
                  - adminCharge
                  - booking
                  - eventTicket
                  - expiration
                  - order
                  - purchaseAllocation
                  - refund
                  - subscriptionAllocation
                  - subscriptionExpiration
                description: Credits transaction type.
              userCreatedBy:
                description: User who created the transaction.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRefCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: string
                format: uuid
              userRefOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: string
                format: uuid
            required:
              - amount
              - amounts
              - createDate
              - customer
              - id
              - locationRef
              - networkRef
              - status
              - type
            additionalProperties: false
          description: List of credits transactions.
      required:
        - transactions
      additionalProperties: false
    createCreditsTransaction:
      type: object
      properties:
        transaction:
          type: object
          properties:
            amount:
              type: number
              description: Total credits amount (absolute sum of expiring and permanent).
            amounts:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Amount deducted from this balance bucket.
                  expirationDate:
                    description: Expiration date for expiring balances.
                    type: string
                    format: date-time
                  subscriptionRef:
                    description: Subscription associated with expiring balances.
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - expiring
                      - permanent
                    description: Balance bucket type.
                required:
                  - amount
                  - type
                additionalProperties: false
              description: Per-bucket amounts for charge transactions.
            booking:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                endDate:
                  description: Booking end date.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Booking id.
                resource:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Resource id.
                    title:
                      type: string
                      description: Resource title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                  description: Booked resource.
                startDate:
                  description: Booking start date.
                  type: string
                  format: date-time
              required:
                - id
                - resource
              additionalProperties: false
            company:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of company creation.
                id:
                  type: string
                  format: uuid
                  description: Company id.
                locationRef:
                  type: string
                  format: uuid
                  description: Location id.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the company logo.
                    url:
                      type: string
                      description: Public URL of the company logo.
                  required:
                    - key
                    - url
                  additionalProperties: false
                metadata:
                  description: Company metadata.
                  type: object
                  additionalProperties: {}
                notes:
                  description: Internal notes.
                  type: string
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                subscriptionRef:
                  nullable: true
                  description: Primary subscription id.
                  type: string
                  format: uuid
                title:
                  type: string
                  description: Company name.
              required:
                - createDate
                - id
                - locationRef
                - subscriptionRef
                - title
              additionalProperties: false
            companyRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the transaction was created.
            customer:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the company or membership.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                title:
                  description: Company name.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or a user.
                user:
                  description: User details for membership customers.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
              description: Customer associated with this transaction.
            customerRefCreatedBy:
              description: ID of the customer the user who created the transaction belongs to.
              type: string
              format: uuid
            description:
              description: Transaction description.
              type: string
            discounts:
              description: Discounts applied to the transaction.
              type: array
              items:
                type: object
                properties:
                  coupon:
                    type: object
                    properties:
                      amountOff:
                        description: Fixed amount discount.
                        type: number
                      currencyCode:
                        description: Currency of the fixed amount discount.
                        type: string
                      id:
                        type: string
                        description: Coupon id.
                      percentOff:
                        description: Percentage discount.
                        type: number
                      productTypes:
                        description: Product types the coupon applies to.
                        type: array
                        items:
                          type: string
                      type:
                        type: string
                        description: Coupon type.
                    required:
                      - id
                      - type
                    additionalProperties: false
                    description: Applied coupon.
                  promocode:
                    description: Promocode the coupon was applied with.
                    type: object
                    properties:
                      code:
                        type: string
                        description: Promocode.
                      expiration:
                        description: Promocode expiration date.
                        type: string
                      id:
                        type: string
                        format: uuid
                        description: Promocode id.
                      limitByFirstPurchase:
                        description: Whether the promocode is limited to the first purchase.
                        type: boolean
                    required:
                      - code
                      - id
                    additionalProperties: false
                  subscriptionId:
                    description: ID of the subscription this discount is associated with.
                    type: string
                    format: uuid
                required:
                  - coupon
                additionalProperties: false
            expiringAmount:
              deprecated: true
              description: Deprecated. Use amounts instead.
              type: number
            id:
              type: string
              format: uuid
              description: Unique identifier of the transaction.
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location).
            membershipRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            membershipRefCreator:
              deprecated: true
              description: Deprecated. Use customerRefCreatedBy instead.
              type: string
              format: uuid
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            order:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Order id.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Order item id.
                      product:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Product id.
                          option:
                            description: Product option.
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Product option id.
                              title:
                                type: string
                                description: Product option title.
                            required:
                              - id
                              - title
                            additionalProperties: false
                          title:
                            type: string
                            description: Product title.
                        required:
                          - id
                          - title
                        additionalProperties: false
                        description: Ordered product.
                      quantity:
                        type: number
                        description: Quantity of units.
                    required:
                      - id
                      - product
                      - quantity
                    additionalProperties: false
                  description: Order items.
              required:
                - id
                - items
              additionalProperties: false
            permanentAmount:
              deprecated: true
              description: Deprecated. Use amounts instead.
              type: number
            product:
              description: Product details.
              type: object
              properties:
                bookingRef:
                  description: ID of the associated booking.
                  type: string
                  format: uuid
                eventTicketRef:
                  description: ID of the associated event ticket.
                  type: string
                  format: uuid
                orderRef:
                  description: ID of the associated order.
                  type: string
                  format: uuid
                title:
                  description: Display title of the product.
                  type: string
                type:
                  description: Product type.
                  type: string
                  enum:
                    - booking
                    - eventTicket
                    - order
              additionalProperties: false
            refund:
              deprecated: true
              description: Deprecated.
              type: object
              properties:
                amount:
                  type: number
                  description: Refunded amount.
                createDate:
                  type: string
                  format: date-time
                  description: Refund creation timestamp.
              required:
                - amount
                - createDate
              additionalProperties: false
            status:
              type: string
              description: Transaction status.
            ticket:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                createDate:
                  description: Ticket creation timestamp.
                  type: string
                  format: date-time
                event:
                  description: Event details.
                  type: object
                  properties:
                    endDate:
                      description: Event end date.
                      type: string
                      format: date-time
                    id:
                      type: string
                      format: uuid
                      description: Event id.
                    startDate:
                      description: Event start date.
                      type: string
                      format: date-time
                    title:
                      type: string
                      description: Event title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                id:
                  type: string
                  format: uuid
                  description: Ticket id.
                quantity:
                  type: number
                  description: Number of tickets.
              required:
                - id
                - quantity
              additionalProperties: false
            type:
              type: string
              enum:
                - adminAllocation
                - adminCharge
                - booking
                - eventTicket
                - expiration
                - order
                - purchaseAllocation
                - refund
                - subscriptionAllocation
                - subscriptionExpiration
              description: Credits transaction type.
            userCreatedBy:
              description: User who created the transaction.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userRefCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: string
              format: uuid
            userRefOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: string
              format: uuid
          required:
            - amount
            - amounts
            - createDate
            - customer
            - id
            - locationRef
            - networkRef
            - status
            - type
          additionalProperties: false
          description: The created credits transaction.
      required:
        - transaction
      additionalProperties: false
    transactionCredits:
      type: object
      properties:
        amount:
          type: number
          description: Total credits amount (absolute sum of expiring and permanent).
        amounts:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Amount deducted from this balance bucket.
              expirationDate:
                description: Expiration date for expiring balances.
                type: string
                format: date-time
              subscriptionRef:
                description: Subscription associated with expiring balances.
                type: string
                format: uuid
              type:
                type: string
                enum:
                  - expiring
                  - permanent
                description: Balance bucket type.
            required:
              - amount
              - type
            additionalProperties: false
          description: Per-bucket amounts for charge transactions.
        booking:
          deprecated: true
          description: Deprecated. Use product instead.
          type: object
          properties:
            endDate:
              description: Booking end date.
              type: string
              format: date-time
            id:
              type: string
              format: uuid
              description: Booking id.
            resource:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Resource id.
                title:
                  type: string
                  description: Resource title.
              required:
                - id
                - title
              additionalProperties: false
              description: Booked resource.
            startDate:
              description: Booking start date.
              type: string
              format: date-time
          required:
            - id
            - resource
          additionalProperties: false
        company:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of company creation.
            id:
              type: string
              format: uuid
              description: Company id.
            locationRef:
              type: string
              format: uuid
              description: Location id.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                  description: Storage key of the company logo.
                url:
                  type: string
                  description: Public URL of the company logo.
              required:
                - key
                - url
              additionalProperties: false
            metadata:
              description: Company metadata.
              type: object
              additionalProperties: {}
            notes:
              description: Internal notes.
              type: string
            publicLogoUrl:
              description: Public logo URL derived from the company website.
              type: string
            subscriptionRef:
              nullable: true
              description: Primary subscription id.
              type: string
              format: uuid
            title:
              type: string
              description: Company name.
          required:
            - createDate
            - id
            - locationRef
            - subscriptionRef
            - title
          additionalProperties: false
        companyRef:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: string
          format: uuid
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the transaction was created.
        customer:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: ID of the company or membership.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            publicLogoUrl:
              description: Public logo URL derived from the company website.
              type: string
            title:
              description: Company name.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or a user.
            user:
              description: User details for membership customers.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer associated with this transaction.
        customerRefCreatedBy:
          description: ID of the customer the user who created the transaction belongs to.
          type: string
          format: uuid
        description:
          description: Transaction description.
          type: string
        discounts:
          description: Discounts applied to the transaction.
          type: array
          items:
            type: object
            properties:
              coupon:
                type: object
                properties:
                  amountOff:
                    description: Fixed amount discount.
                    type: number
                  currencyCode:
                    description: Currency of the fixed amount discount.
                    type: string
                  id:
                    type: string
                    description: Coupon id.
                  percentOff:
                    description: Percentage discount.
                    type: number
                  productTypes:
                    description: Product types the coupon applies to.
                    type: array
                    items:
                      type: string
                  type:
                    type: string
                    description: Coupon type.
                required:
                  - id
                  - type
                additionalProperties: false
                description: Applied coupon.
              promocode:
                description: Promocode the coupon was applied with.
                type: object
                properties:
                  code:
                    type: string
                    description: Promocode.
                  expiration:
                    description: Promocode expiration date.
                    type: string
                  id:
                    type: string
                    format: uuid
                    description: Promocode id.
                  limitByFirstPurchase:
                    description: Whether the promocode is limited to the first purchase.
                    type: boolean
                required:
                  - code
                  - id
                additionalProperties: false
              subscriptionId:
                description: ID of the subscription this discount is associated with.
                type: string
                format: uuid
            required:
              - coupon
            additionalProperties: false
        expiringAmount:
          deprecated: true
          description: Deprecated. Use amounts instead.
          type: number
        id:
          type: string
          format: uuid
          description: Unique identifier of the transaction.
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location).
        membershipRef:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: string
          format: uuid
        membershipRefCreator:
          deprecated: true
          description: Deprecated. Use customerRefCreatedBy instead.
          type: string
          format: uuid
        networkRef:
          type: string
          format: uuid
          description: ID of the network.
        order:
          deprecated: true
          description: Deprecated. Use product instead.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Order id.
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Order item id.
                  product:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Product id.
                      option:
                        description: Product option.
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Product option id.
                          title:
                            type: string
                            description: Product option title.
                        required:
                          - id
                          - title
                        additionalProperties: false
                      title:
                        type: string
                        description: Product title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Ordered product.
                  quantity:
                    type: number
                    description: Quantity of units.
                required:
                  - id
                  - product
                  - quantity
                additionalProperties: false
              description: Order items.
          required:
            - id
            - items
          additionalProperties: false
        permanentAmount:
          deprecated: true
          description: Deprecated. Use amounts instead.
          type: number
        product:
          description: Product details.
          type: object
          properties:
            bookingRef:
              description: ID of the associated booking.
              type: string
              format: uuid
            eventTicketRef:
              description: ID of the associated event ticket.
              type: string
              format: uuid
            orderRef:
              description: ID of the associated order.
              type: string
              format: uuid
            title:
              description: Display title of the product.
              type: string
            type:
              description: Product type.
              type: string
              enum:
                - booking
                - eventTicket
                - order
          additionalProperties: false
        refund:
          deprecated: true
          description: Deprecated.
          type: object
          properties:
            amount:
              type: number
              description: Refunded amount.
            createDate:
              type: string
              format: date-time
              description: Refund creation timestamp.
          required:
            - amount
            - createDate
          additionalProperties: false
        status:
          type: string
          description: Transaction status.
        ticket:
          deprecated: true
          description: Deprecated. Use product instead.
          type: object
          properties:
            createDate:
              description: Ticket creation timestamp.
              type: string
              format: date-time
            event:
              description: Event details.
              type: object
              properties:
                endDate:
                  description: Event end date.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Event id.
                startDate:
                  description: Event start date.
                  type: string
                  format: date-time
                title:
                  type: string
                  description: Event title.
              required:
                - id
                - title
              additionalProperties: false
            id:
              type: string
              format: uuid
              description: Ticket id.
            quantity:
              type: number
              description: Number of tickets.
          required:
            - id
            - quantity
          additionalProperties: false
        type:
          type: string
          enum:
            - adminAllocation
            - adminCharge
            - booking
            - eventTicket
            - expiration
            - order
            - purchaseAllocation
            - refund
            - subscriptionAllocation
            - subscriptionExpiration
          description: Credits transaction type.
        userCreatedBy:
          description: User who created the transaction.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userCreator:
          deprecated: true
          description: Deprecated. Use userCreatedBy instead.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userOwner:
          deprecated: true
          description: Deprecated. Use customer.user instead.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userRefCreator:
          deprecated: true
          description: Deprecated. Use userCreatedBy instead.
          type: string
          format: uuid
        userRefOwner:
          deprecated: true
          description: Deprecated. Use customer.user instead.
          type: string
          format: uuid
      required:
        - amount
        - amounts
        - createDate
        - customer
        - id
        - locationRef
        - networkRef
        - status
        - type
      additionalProperties: false
    getScheduledDayPassesTransactions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results. Returned when more results exist.
          type: string
        scheduledTransactions:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Total day pass amount (absolute sum of expiring and permanent).
              booking:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Booking id.
                  resource:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      title:
                        type: string
                        description: Resource title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Booked resource.
                required:
                  - id
                  - resource
                additionalProperties: false
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of company creation.
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  locationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  metadata:
                    description: Company metadata.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes.
                    type: string
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  subscriptionRef:
                    nullable: true
                    description: Primary subscription id.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Company name.
                required:
                  - createDate
                  - id
                  - locationRef
                  - subscriptionRef
                  - title
                additionalProperties: false
              companyRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the scheduled transaction was created.
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this scheduled transaction.
              customerRefCreatedBy:
                description: ID of the customer the user who created the scheduled transaction belongs to.
                type: string
                format: uuid
              id:
                type: string
                format: uuid
                description: Unique identifier of the scheduled transaction.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              membershipRefCreator:
                deprecated: true
                description: Deprecated. Use customerRefCreatedBy instead.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              product:
                description: Product details.
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Display title of the product.
                  type:
                    type: string
                    enum:
                      - booking
                    description: Product type.
                required:
                  - title
                  - type
                additionalProperties: false
              resolveDate:
                description: ISO timestamp of when the scheduled transaction was resolved into a day pass transaction.
                type: string
                format: date-time
              scheduleDate:
                type: string
                format: date-time
                description: Date when the transaction is scheduled to resolve, anchored to the subscription interval the booking falls into. Once a charge has been deferred it is the latest date the transaction can still be charged before the booking is canceled.
              status:
                type: string
                description: Transaction status.
              timezoneId:
                type: string
                description: Timezone of the subscription.
              type:
                type: string
                enum:
                  - booking
                description: Scheduled day pass transaction type.
              user:
                deprecated: true
                description: Deprecated. Use userOwner instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreatedBy:
                description: User who created the transaction.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRefCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: string
                format: uuid
              userRefOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: string
                format: uuid
            required:
              - amount
              - createDate
              - customer
              - id
              - locationRef
              - networkRef
              - scheduleDate
              - status
              - timezoneId
              - type
            additionalProperties: false
          description: List of scheduled day pass transactions.
        searchQueryNext:
          description: Query string with nextPageToken and the request filter to fetch the next page of results. Returned when more results exist.
          type: string
      required:
        - scheduledTransactions
      additionalProperties: false
    getDayPassesTransactions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Ready-to-use query string with the current filters and nextPageToken to fetch the next page of results.
          type: string
        transactions:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Total day pass amount (absolute sum of expiring and permanent).
              amounts:
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Amount deducted from this balance bucket.
                    expirationDate:
                      description: Expiration date for expiring balances.
                      type: string
                      format: date-time
                    subscriptionRef:
                      description: Subscription associated with expiring balances.
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - expiring
                        - permanent
                      description: Balance bucket type.
                  required:
                    - amount
                    - type
                  additionalProperties: false
                description: Per-bucket amounts for charge transactions.
              booking:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Booking id.
                  resource:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      title:
                        type: string
                        description: Resource title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Booked resource.
                required:
                  - id
                  - resource
                additionalProperties: false
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of company creation.
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  locationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the company logo.
                      url:
                        type: string
                        description: Public URL of the company logo.
                    required:
                      - key
                      - url
                    additionalProperties: false
                  metadata:
                    description: Company metadata.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes.
                    type: string
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  subscriptionRef:
                    nullable: true
                    description: Primary subscription id.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Company name.
                required:
                  - createDate
                  - id
                  - locationRef
                  - subscriptionRef
                  - title
                additionalProperties: false
              companyRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the transaction was created.
              customer:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or membership.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for membership customers.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
                description: Customer associated with this transaction.
              customerRefCreatedBy:
                description: ID of the customer the user who created the transaction belongs to.
                type: string
                format: uuid
              description:
                description: Transaction description.
                type: string
              id:
                type: string
                format: uuid
                description: Unique identifier of the transaction.
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              membershipRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              membershipRefCreator:
                deprecated: true
                description: Deprecated. Use customerRefCreatedBy instead.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              product:
                description: Product details.
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Display title of the product.
                  type:
                    type: string
                    enum:
                      - booking
                    description: Product type.
                required:
                  - title
                  - type
                additionalProperties: false
              refund:
                deprecated: true
                description: Deprecated.
                type: object
                properties:
                  amount:
                    type: number
                    description: Refunded expiring amount.
                  createDate:
                    type: string
                    format: date-time
                    description: Refund creation timestamp.
                required:
                  - amount
                  - createDate
                additionalProperties: false
              status:
                type: string
                description: Transaction status.
              type:
                type: string
                enum:
                  - adminAllocation
                  - adminCharge
                  - booking
                  - expiration
                  - purchaseAllocation
                  - refund
                  - subscriptionAllocation
                  - subscriptionExpiration
                description: Day pass transaction type.
              user:
                deprecated: true
                description: Deprecated. Use userOwner instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreatedBy:
                description: User who created the transaction.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRefCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: string
                format: uuid
              userRefOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: string
                format: uuid
            required:
              - amount
              - amounts
              - createDate
              - customer
              - id
              - locationRef
              - networkRef
              - status
              - type
            additionalProperties: false
          description: List of day pass transactions.
      required:
        - transactions
      additionalProperties: false
    createDayPassesTransaction:
      type: object
      properties:
        transaction:
          type: object
          properties:
            amount:
              type: number
              description: Total day pass amount (absolute sum of expiring and permanent).
            amounts:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Amount deducted from this balance bucket.
                  expirationDate:
                    description: Expiration date for expiring balances.
                    type: string
                    format: date-time
                  subscriptionRef:
                    description: Subscription associated with expiring balances.
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - expiring
                      - permanent
                    description: Balance bucket type.
                required:
                  - amount
                  - type
                additionalProperties: false
              description: Per-bucket amounts for charge transactions.
            booking:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Booking id.
                resource:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Resource id.
                    title:
                      type: string
                      description: Resource title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                  description: Booked resource.
              required:
                - id
                - resource
              additionalProperties: false
            company:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of company creation.
                id:
                  type: string
                  format: uuid
                  description: Company id.
                locationRef:
                  type: string
                  format: uuid
                  description: Location id.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                      description: Storage key of the company logo.
                    url:
                      type: string
                      description: Public URL of the company logo.
                  required:
                    - key
                    - url
                  additionalProperties: false
                metadata:
                  description: Company metadata.
                  type: object
                  additionalProperties: {}
                notes:
                  description: Internal notes.
                  type: string
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                subscriptionRef:
                  nullable: true
                  description: Primary subscription id.
                  type: string
                  format: uuid
                title:
                  type: string
                  description: Company name.
              required:
                - createDate
                - id
                - locationRef
                - subscriptionRef
                - title
              additionalProperties: false
            companyRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the transaction was created.
            customer:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the company or membership.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                title:
                  description: Company name.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or a user.
                user:
                  description: User details for membership customers.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
              description: Customer associated with this transaction.
            customerRefCreatedBy:
              description: ID of the customer the user who created the transaction belongs to.
              type: string
              format: uuid
            description:
              description: Transaction description.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the transaction.
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location).
            membershipRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            membershipRefCreator:
              deprecated: true
              description: Deprecated. Use customerRefCreatedBy instead.
              type: string
              format: uuid
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            product:
              description: Product details.
              type: object
              properties:
                bookingRef:
                  description: ID of the associated booking.
                  type: string
                  format: uuid
                title:
                  type: string
                  description: Display title of the product.
                type:
                  type: string
                  enum:
                    - booking
                  description: Product type.
              required:
                - title
                - type
              additionalProperties: false
            refund:
              deprecated: true
              description: Deprecated.
              type: object
              properties:
                amount:
                  type: number
                  description: Refunded expiring amount.
                createDate:
                  type: string
                  format: date-time
                  description: Refund creation timestamp.
              required:
                - amount
                - createDate
              additionalProperties: false
            status:
              type: string
              description: Transaction status.
            type:
              type: string
              enum:
                - adminAllocation
                - adminCharge
                - booking
                - expiration
                - purchaseAllocation
                - refund
                - subscriptionAllocation
                - subscriptionExpiration
              description: Day pass transaction type.
            user:
              deprecated: true
              description: Deprecated. Use userOwner instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreatedBy:
              description: User who created the transaction.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userRefCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: string
              format: uuid
            userRefOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: string
              format: uuid
          required:
            - amount
            - amounts
            - createDate
            - customer
            - id
            - locationRef
            - networkRef
            - status
            - type
          additionalProperties: false
          description: The created day passes transaction.
      required:
        - transaction
      additionalProperties: false
    transactionDayPasses:
      type: object
      properties:
        amount:
          type: number
          description: Total day pass amount (absolute sum of expiring and permanent).
        amounts:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: Amount deducted from this balance bucket.
              expirationDate:
                description: Expiration date for expiring balances.
                type: string
                format: date-time
              subscriptionRef:
                description: Subscription associated with expiring balances.
                type: string
                format: uuid
              type:
                type: string
                enum:
                  - expiring
                  - permanent
                description: Balance bucket type.
            required:
              - amount
              - type
            additionalProperties: false
          description: Per-bucket amounts for charge transactions.
        booking:
          deprecated: true
          description: Deprecated. Use product instead.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Booking id.
            resource:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Resource id.
                title:
                  type: string
                  description: Resource title.
              required:
                - id
                - title
              additionalProperties: false
              description: Booked resource.
          required:
            - id
            - resource
          additionalProperties: false
        company:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: object
          properties:
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of company creation.
            id:
              type: string
              format: uuid
              description: Company id.
            locationRef:
              type: string
              format: uuid
              description: Location id.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                  description: Storage key of the company logo.
                url:
                  type: string
                  description: Public URL of the company logo.
              required:
                - key
                - url
              additionalProperties: false
            metadata:
              description: Company metadata.
              type: object
              additionalProperties: {}
            notes:
              description: Internal notes.
              type: string
            publicLogoUrl:
              description: Public logo URL derived from the company website.
              type: string
            subscriptionRef:
              nullable: true
              description: Primary subscription id.
              type: string
              format: uuid
            title:
              type: string
              description: Company name.
          required:
            - createDate
            - id
            - locationRef
            - subscriptionRef
            - title
          additionalProperties: false
        companyRef:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: string
          format: uuid
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the transaction was created.
        customer:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: ID of the company or membership.
            logo:
              description: Company logo.
              type: object
              properties:
                key:
                  type: string
                url:
                  type: string
              required:
                - key
                - url
              additionalProperties: false
            publicLogoUrl:
              description: Public logo URL derived from the company website.
              type: string
            title:
              description: Company name.
              type: string
            type:
              type: string
              enum:
                - company
                - user
              description: Whether the customer is a company or a user.
            user:
              description: User details for membership customers.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
          required:
            - id
            - type
          additionalProperties: false
          description: Customer associated with this transaction.
        customerRefCreatedBy:
          description: ID of the customer the user who created the transaction belongs to.
          type: string
          format: uuid
        description:
          description: Transaction description.
          type: string
        id:
          type: string
          format: uuid
          description: Unique identifier of the transaction.
        locationRef:
          type: string
          format: uuid
          description: ID of the organization (location).
        membershipRef:
          deprecated: true
          description: Deprecated. Use customer instead.
          type: string
          format: uuid
        membershipRefCreator:
          deprecated: true
          description: Deprecated. Use customerRefCreatedBy instead.
          type: string
          format: uuid
        networkRef:
          type: string
          format: uuid
          description: ID of the network.
        product:
          description: Product details.
          type: object
          properties:
            bookingRef:
              description: ID of the associated booking.
              type: string
              format: uuid
            title:
              type: string
              description: Display title of the product.
            type:
              type: string
              enum:
                - booking
              description: Product type.
          required:
            - title
            - type
          additionalProperties: false
        refund:
          deprecated: true
          description: Deprecated.
          type: object
          properties:
            amount:
              type: number
              description: Refunded expiring amount.
            createDate:
              type: string
              format: date-time
              description: Refund creation timestamp.
          required:
            - amount
            - createDate
          additionalProperties: false
        status:
          type: string
          description: Transaction status.
        type:
          type: string
          enum:
            - adminAllocation
            - adminCharge
            - booking
            - expiration
            - purchaseAllocation
            - refund
            - subscriptionAllocation
            - subscriptionExpiration
          description: Day pass transaction type.
        user:
          deprecated: true
          description: Deprecated. Use userOwner instead.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userCreatedBy:
          description: User who created the transaction.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userCreator:
          deprecated: true
          description: Deprecated. Use userCreatedBy instead.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userOwner:
          deprecated: true
          description: Deprecated. Use customer.user instead.
          type: object
          properties:
            about:
              nullable: true
              type: string
            email:
              nullable: true
              type: string
            id:
              type: string
              format: uuid
            name:
              nullable: true
              type: string
            phoneNumber:
              nullable: true
              type: string
            photoUrl:
              nullable: true
              type: string
            surname:
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userRefCreator:
          deprecated: true
          description: Deprecated. Use userCreatedBy instead.
          type: string
          format: uuid
        userRefOwner:
          deprecated: true
          description: Deprecated. Use customer.user instead.
          type: string
          format: uuid
      required:
        - amount
        - amounts
        - createDate
        - customer
        - id
        - locationRef
        - networkRef
        - status
        - type
      additionalProperties: false
    getMoneyTransactions:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        searchQueryNext:
          description: Search query parameters for the next page of results. Includes all filters used to fetch the current page.
          type: string
        transactions:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              amount:
                type: number
                description: Transaction amount in major units.
              billingAddressBy:
                deprecated: true
                description: Deprecated. Use locationAddress instead.
                type: string
              billingAddressTo:
                deprecated: true
                description: Deprecated. Use customerAddress instead.
                type: string
              booking:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  deleteDate:
                    description: ISO timestamp of when the booking was deleted.
                    type: string
                    format: date-time
                  endDate:
                    description: Booking end date.
                    type: string
                    format: date-time
                  id:
                    type: string
                    format: uuid
                    description: Booking id.
                  membershipRefDeletedBy:
                    description: Membership of the user who deleted the booking.
                    type: string
                    format: uuid
                  price:
                    type: object
                    properties:
                      netAmount:
                        type: number
                        description: Amount excluding tax in major units.
                      taxAmount:
                        description: Tax amount in major units.
                        type: number
                    required:
                      - netAmount
                    additionalProperties: false
                    deprecated: true
                    description: Booking price.
                  resource:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Resource id.
                      title:
                        type: string
                        description: Resource title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                    description: Booked resource.
                  startDate:
                    description: Booking start date.
                    type: string
                    format: date-time
                  userDeletedBy:
                    description: User who deleted the booking.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - price
                  - resource
                additionalProperties: false
              company:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: object
                properties:
                  createDate:
                    type: string
                    format: date-time
                    description: ISO timestamp of company creation.
                  id:
                    type: string
                    format: uuid
                    description: Company id.
                  locationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  metadata:
                    description: Company metadata.
                    type: object
                    additionalProperties: {}
                  notes:
                    description: Internal notes.
                    type: string
                  subscriptionRef:
                    nullable: true
                    description: Primary subscription id.
                    type: string
                    format: uuid
                  title:
                    type: string
                    description: Company name.
                required:
                  - createDate
                  - id
                  - locationRef
                  - subscriptionRef
                  - title
                additionalProperties: false
              companyRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the transaction was created.
              creditPackage:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  amount:
                    type: number
                    description: Credits amount of the package, or the package price when the package has no credits.
                  creditsAmount:
                    description: Credits amount of the package.
                    type: number
                  dayPassesAmount:
                    description: Day passes amount of the package.
                    type: number
                  price:
                    type: object
                    properties:
                      netAmount:
                        type: number
                        description: Amount excluding tax in major units.
                      taxAmount:
                        description: Tax amount in major units.
                        type: number
                    required:
                      - netAmount
                    additionalProperties: false
                    deprecated: true
                    description: Package price.
                required:
                  - amount
                  - price
                additionalProperties: false
              currencyCode:
                type: string
                description: ISO currency code.
              customer:
                description: Customer associated with this transaction.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: ID of the company or user.
                  logo:
                    description: Company logo.
                    type: object
                    properties:
                      key:
                        type: string
                      url:
                        type: string
                    required:
                      - key
                      - url
                    additionalProperties: false
                  publicLogoUrl:
                    description: Public logo URL derived from the company website.
                    type: string
                  title:
                    description: Company name.
                    type: string
                  type:
                    type: string
                    enum:
                      - company
                      - user
                    description: Whether the customer is a company or a user.
                  user:
                    description: User details for user customers.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - type
                additionalProperties: false
              customerRefCreatedBy:
                description: ID of the customer the user who created the transaction belongs to.
                type: string
                format: uuid
              customerAddress:
                description: Customer billing address.
                type: object
                properties:
                  city:
                    type: string
                  countryCode:
                    nullable: true
                    type: string
                  line1:
                    type: string
                  line2:
                    type: string
                  postalCode:
                    type: string
                  state:
                    type: string
                required:
                  - city
                  - countryCode
                  - line1
                  - line2
                  - postalCode
                  - state
                additionalProperties: false
              customerName:
                description: Customer legal name.
                type: string
              customerTaxId:
                description: Customer tax ID.
                type: string
              customItem:
                description: Custom item details.
                type: object
                properties:
                  currencyCode:
                    description: Custom item currency code.
                    type: string
                  description:
                    description: Custom item description.
                    type: string
                  tax:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether tax is enabled for the custom item.
                      rate:
                        type: number
                        minimum: 0
                        description: Tax rate.
                    required:
                      - enabled
                      - rate
                    additionalProperties: false
                  unitAmount:
                    description: Custom item unit amount in major units.
                    type: number
                  unitQuantity:
                    description: Custom item unit quantity.
                    type: number
                additionalProperties: false
              discounts:
                description: Discounts applied to the transaction.
                type: array
                items:
                  type: object
                  properties:
                    coupon:
                      type: object
                      properties:
                        amountOff:
                          description: Fixed amount discount.
                          type: number
                        currencyCode:
                          description: Currency of the fixed amount discount.
                          type: string
                        id:
                          description: Coupon id.
                          type: string
                        percentOff:
                          description: Percentage discount.
                          type: number
                        productTypes:
                          description: Product types the coupon applies to.
                          type: array
                          items:
                            type: string
                        type:
                          description: Coupon type.
                          type: string
                      additionalProperties: false
                      description: Applied coupon.
                    promocode:
                      description: Promocode the coupon was applied with.
                      type: object
                      properties:
                        code:
                          type: string
                          description: Promocode.
                        expiration:
                          description: Promocode expiration settings.
                          type: object
                          properties:
                            date:
                              description: ISO timestamp when the promocode expires.
                              type: string
                              format: date-time
                            enabled:
                              type: boolean
                              description: Whether the promocode has an expiration date.
                          required:
                            - enabled
                          additionalProperties: false
                        id:
                          type: string
                          format: uuid
                          description: Promocode id.
                        limitByFirstPurchase:
                          description: Whether the promocode is limited to the first purchase.
                          type: boolean
                      required:
                        - code
                        - id
                      additionalProperties: false
                    subscriptionId:
                      description: ID of the subscription this discount is associated with.
                      type: string
                      format: uuid
                  required:
                    - coupon
                  additionalProperties: false
              errorDescription:
                description: Payment gateway error description for failed transactions.
                type: string
              id:
                type: string
                format: uuid
                description: Unique identifier of the transaction.
              invoice:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Invoice id.
                  title:
                    type: string
                    description: Invoice title.
                required:
                  - id
                  - title
                additionalProperties: false
              locationAddress:
                description: Location billing address.
                type: object
                properties:
                  city:
                    type: string
                  countryCode:
                    nullable: true
                    type: string
                  line1:
                    type: string
                  line2:
                    type: string
                  postalCode:
                    type: string
                  state:
                    type: string
                required:
                  - city
                  - countryCode
                  - line1
                  - line2
                  - postalCode
                  - state
                additionalProperties: false
              locationName:
                description: Location legal name.
                type: string
              locationRef:
                type: string
                format: uuid
                description: ID of the organization (location).
              locationTaxId:
                description: Location tax ID.
                type: string
              membershipRef:
                deprecated: true
                description: Deprecated. Use customer instead.
                type: string
                format: uuid
              membershipRefCreator:
                deprecated: true
                description: Deprecated. Use customerRefCreatedBy instead.
                type: string
                format: uuid
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              order:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Order id.
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Order item id.
                        product:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Product id.
                            option:
                              description: Product option.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Product option id.
                                title:
                                  type: string
                                  description: Product option title.
                              required:
                                - id
                                - title
                              additionalProperties: false
                            title:
                              type: string
                              description: Product title.
                          required:
                            - id
                            - title
                          additionalProperties: false
                          description: Ordered product.
                        quantity:
                          type: number
                          description: Quantity of units.
                      required:
                        - id
                        - product
                        - quantity
                      additionalProperties: false
                    description: Order items.
                required:
                  - id
                  - items
                additionalProperties: false
              payment:
                type: object
                properties:
                  dispute:
                    description: Payment dispute details.
                    type: object
                    properties:
                      createDate:
                        type: string
                        format: date-time
                        description: ISO timestamp of when the dispute was opened.
                    required:
                      - createDate
                    additionalProperties: false
                  method:
                    type: object
                    properties:
                      external:
                        description: Present when type is external.
                        type: object
                        properties: {}
                        additionalProperties: false
                      paymentGateway:
                        description: Present when type is paymentGateway.
                        type: object
                        properties:
                          gateway:
                            type: string
                            description: Payment gateway identifier.
                          label:
                            description: Display label for the payment method.
                            type: string
                          mask:
                            description: Masked card or account identifier.
                            type: string
                          title:
                            description: Display title for the payment gateway.
                            type: string
                        required:
                          - gateway
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - external
                          - paymentGateway
                        description: Payment method type.
                    required:
                      - type
                    additionalProperties: false
                    description: Payment method used.
                  price:
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          grossAmount:
                            type: number
                            description: Payment amount in major units.
                        required:
                          - currencyCode
                          - grossAmount
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - money
                      - type
                    additionalProperties: false
                    description: Payment price details.
                  refundable:
                    type: boolean
                    description: Whether this payment can be refunded.
                  refunds:
                    description: Refunds issued against this payment.
                    type: object
                    properties:
                      money:
                        type: array
                        items:
                          type: object
                          properties:
                            createDate:
                              type: string
                              format: date-time
                              description: Refund creation timestamp.
                            currencyCode:
                              type: string
                              description: ISO currency code.
                            customerRefCreatedBy:
                              description: ID of the customer the user who created the refund belongs to.
                              type: string
                              format: uuid
                            grossAmount:
                              type: number
                              description: Refunded amount in major units.
                            id:
                              type: string
                              format: uuid
                              description: Refund id.
                            initiator:
                              description: 'Who initiated the refund: `spacebring` for a refund issued in Spacebring, `stripe` for one issued in the Stripe dashboard.'
                              type: string
                            userCreatedBy:
                              description: User who created the refund.
                              type: object
                              properties:
                                about:
                                  nullable: true
                                  type: string
                                email:
                                  nullable: true
                                  type: string
                                id:
                                  type: string
                                  format: uuid
                                name:
                                  nullable: true
                                  type: string
                                phoneNumber:
                                  nullable: true
                                  type: string
                                photoUrl:
                                  nullable: true
                                  type: string
                                surname:
                                  nullable: true
                                  type: string
                              required:
                                - id
                              additionalProperties: false
                          required:
                            - createDate
                            - currencyCode
                            - grossAmount
                            - id
                          additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - money
                      - type
                    additionalProperties: false
                  surcharge:
                    description: Payment surcharge details.
                    type: object
                    properties:
                      money:
                        type: object
                        properties:
                          amount:
                            type: number
                            description: Surcharge amount in major units.
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          percentage:
                            description: Surcharge percentage.
                            type: number
                          rate:
                            description: Surcharge rate.
                            type: number
                        required:
                          - amount
                          - currencyCode
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                          - money
                    required:
                      - money
                      - type
                    additionalProperties: false
                required:
                  - method
                  - price
                  - refundable
                additionalProperties: false
                description: Payment details.
              paymentMethod:
                type: object
                properties:
                  label:
                    description: Display label of the payment method.
                    type: string
                  type:
                    type: string
                    description: Payment gateway identifier, or external.
                required:
                  - type
                additionalProperties: false
                deprecated: true
                description: Deprecated. Use payment.method instead.
              paymentDate:
                description: ISO timestamp of when the money was received. Absent until the transaction succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it. Ordering and the createDate filters always follow createDate, not this field.
                type: string
                format: date-time
              plan:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Plan id.
                  title:
                    type: string
                    description: Plan title.
                required:
                  - id
                  - title
                additionalProperties: false
              product:
                description: Product details.
                type: object
                properties:
                  bookingRef:
                    description: ID of the associated booking.
                    type: string
                    format: uuid
                  eventTicketRef:
                    description: ID of the associated event ticket.
                    type: string
                    format: uuid
                  invoiceRef:
                    description: ID of the associated invoice.
                    type: string
                    format: uuid
                  orderRef:
                    description: ID of the associated order.
                    type: string
                    format: uuid
                  subscriptionRef:
                    description: ID of the associated subscription.
                    type: string
                    format: uuid
                  title:
                    description: Display title of the product.
                    type: string
                  type:
                    type: string
                    enum:
                      - booking
                      - custom
                      - creditPackage
                      - eventTicket
                      - invoice
                      - order
                      - subscription
                    description: Product type.
                required:
                  - type
                additionalProperties: false
              receiptPdfUrl:
                description: URL to download the receipt PDF. The URL carries a receipt token, so it can be opened without authentication.
                type: string
              refund:
                deprecated: true
                description: Deprecated. Use payment.refunds instead.
                type: object
                properties:
                  amount:
                    type: number
                    description: Refunded amount.
                  createDate:
                    type: string
                    format: date-time
                    description: Refund creation timestamp.
                required:
                  - amount
                  - createDate
                additionalProperties: false
              refunds:
                deprecated: true
                description: Deprecated. Use payment.refunds instead.
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: Refunded amount.
                    createDate:
                      type: string
                      format: date-time
                      description: Refund creation timestamp.
                    currencyCode:
                      description: ISO currency code.
                      type: string
                    id:
                      description: Refund id.
                      type: string
                      format: uuid
                    initiator:
                      description: Refund initiator.
                      type: string
                    membershipRefCreator:
                      description: Membership of the user who created the refund.
                      type: string
                      format: uuid
                    organizationRef:
                      type: string
                      format: uuid
                      description: Location id.
                    userCreator:
                      description: User who created the refund.
                      type: object
                      properties:
                        about:
                          nullable: true
                          type: string
                        email:
                          nullable: true
                          type: string
                        id:
                          type: string
                          format: uuid
                        name:
                          nullable: true
                          type: string
                        phoneNumber:
                          nullable: true
                          type: string
                        photoUrl:
                          nullable: true
                          type: string
                        surname:
                          nullable: true
                          type: string
                      required:
                        - id
                      additionalProperties: false
                    userRefCreator:
                      description: User id of the refund creator.
                      type: string
                      format: uuid
                  required:
                    - amount
                    - createDate
                    - organizationRef
                  additionalProperties: false
              status:
                type: string
                enum:
                  - canceled
                  - failed
                  - pending
                  - processing
                  - succeeded
                description: Transaction status.
              ticket:
                deprecated: true
                description: Deprecated. Use product instead.
                type: object
                properties:
                  createDate:
                    description: Ticket creation timestamp.
                    type: string
                    format: date-time
                  deleteDate:
                    description: ISO timestamp of when the ticket was deleted.
                    type: string
                    format: date-time
                  event:
                    description: Event details.
                    type: object
                    properties:
                      endDate:
                        description: Event end date.
                        type: string
                        format: date-time
                      id:
                        type: string
                        format: uuid
                        description: Event id.
                      startDate:
                        description: Event start date.
                        type: string
                        format: date-time
                      title:
                        type: string
                        description: Event title.
                    required:
                      - id
                      - title
                    additionalProperties: false
                  id:
                    type: string
                    format: uuid
                    description: Ticket id.
                  membershipRefDeletedBy:
                    description: Membership of the user who deleted the ticket.
                    type: string
                    format: uuid
                  price:
                    type: object
                    properties:
                      netAmount:
                        type: number
                        description: Amount excluding tax in major units.
                      taxAmount:
                        description: Tax amount in major units.
                        type: number
                    required:
                      - netAmount
                    additionalProperties: false
                    deprecated: true
                    description: Ticket price.
                  quantity:
                    type: number
                    description: Number of tickets.
                  userDeletedBy:
                    description: User who deleted the ticket.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                required:
                  - id
                  - price
                  - quantity
                additionalProperties: false
              type:
                type: string
                enum:
                  - booking
                  - custom
                  - creditPackage
                  - eventTicket
                  - invoice
                  - order
                  - subscription
                description: Money transaction type.
              user:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userCreatedBy:
                description: User who created the transaction.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: object
                properties:
                  about:
                    nullable: true
                    type: string
                  email:
                    nullable: true
                    type: string
                  id:
                    type: string
                    format: uuid
                  name:
                    nullable: true
                    type: string
                  phoneNumber:
                    nullable: true
                    type: string
                  photoUrl:
                    nullable: true
                    type: string
                  surname:
                    nullable: true
                    type: string
                required:
                  - id
                additionalProperties: false
              userRefCreator:
                deprecated: true
                description: Deprecated. Use userCreatedBy instead.
                type: string
                format: uuid
              userRefOwner:
                deprecated: true
                description: Deprecated. Use customer.user instead.
                type: string
                format: uuid
            required:
              - amount
              - createDate
              - currencyCode
              - id
              - locationRef
              - networkRef
              - payment
              - paymentMethod
              - status
              - type
          description: List of money transactions.
      required:
        - transactions
      additionalProperties: false
    createMoneyTransaction:
      type: object
      additionalProperties: false
      properties:
        transaction:
          type: object
          additionalProperties: false
          description: The created money transaction.
          properties:
            amount:
              type: number
              description: Transaction amount in major units.
            billingAddressBy:
              deprecated: true
              description: Deprecated. Use locationAddress instead.
              type: string
            billingAddressTo:
              deprecated: true
              description: Deprecated. Use customerAddress instead.
              type: string
            booking:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                deleteDate:
                  description: ISO timestamp of when the booking was deleted.
                  type: string
                  format: date-time
                endDate:
                  description: Booking end date.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Booking id.
                membershipRefDeletedBy:
                  description: Membership of the user who deleted the booking.
                  type: string
                  format: uuid
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Booking price.
                resource:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Resource id.
                    title:
                      type: string
                      description: Resource title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                  description: Booked resource.
                startDate:
                  description: Booking start date.
                  type: string
                  format: date-time
                userDeletedBy:
                  description: User who deleted the booking.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - price
                - resource
              additionalProperties: false
            company:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of company creation.
                id:
                  type: string
                  format: uuid
                  description: Company id.
                locationRef:
                  type: string
                  format: uuid
                  description: Location id.
                metadata:
                  description: Company metadata.
                  type: object
                  additionalProperties: {}
                notes:
                  description: Internal notes.
                  type: string
                subscriptionRef:
                  nullable: true
                  description: Primary subscription id.
                  type: string
                  format: uuid
                title:
                  type: string
                  description: Company name.
              required:
                - createDate
                - id
                - locationRef
                - subscriptionRef
                - title
              additionalProperties: false
            companyRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the transaction was created.
            creditPackage:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                amount:
                  type: number
                  description: Credits amount of the package, or the package price when the package has no credits.
                creditsAmount:
                  description: Credits amount of the package.
                  type: number
                dayPassesAmount:
                  description: Day passes amount of the package.
                  type: number
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Package price.
              required:
                - amount
                - price
              additionalProperties: false
            currencyCode:
              type: string
              description: ISO currency code.
            customer:
              description: Customer associated with this transaction.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the company or user.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                title:
                  description: Company name.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or a user.
                user:
                  description: User details for user customers.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
            customerRefCreatedBy:
              description: ID of the customer the user who created the transaction belongs to.
              type: string
              format: uuid
            customerAddress:
              description: Customer billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            customerName:
              description: Customer legal name.
              type: string
            customerTaxId:
              description: Customer tax ID.
              type: string
            customItem:
              description: Custom item details.
              type: object
              properties:
                currencyCode:
                  description: Custom item currency code.
                  type: string
                description:
                  description: Custom item description.
                  type: string
                tax:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Whether tax is enabled for the custom item.
                    rate:
                      type: number
                      minimum: 0
                      description: Tax rate.
                  required:
                    - enabled
                    - rate
                  additionalProperties: false
                unitAmount:
                  description: Custom item unit amount in major units.
                  type: number
                unitQuantity:
                  description: Custom item unit quantity.
                  type: number
              additionalProperties: false
            discounts:
              description: Discounts applied to the transaction.
              type: array
              items:
                type: object
                properties:
                  coupon:
                    type: object
                    properties:
                      amountOff:
                        description: Fixed amount discount.
                        type: number
                      currencyCode:
                        description: Currency of the fixed amount discount.
                        type: string
                      id:
                        description: Coupon id.
                        type: string
                      percentOff:
                        description: Percentage discount.
                        type: number
                      productTypes:
                        description: Product types the coupon applies to.
                        type: array
                        items:
                          type: string
                      type:
                        description: Coupon type.
                        type: string
                    additionalProperties: false
                    description: Applied coupon.
                  promocode:
                    description: Promocode the coupon was applied with.
                    type: object
                    properties:
                      code:
                        type: string
                        description: Promocode.
                      expiration:
                        description: Promocode expiration settings.
                        type: object
                        properties:
                          date:
                            description: ISO timestamp when the promocode expires.
                            type: string
                            format: date-time
                          enabled:
                            type: boolean
                            description: Whether the promocode has an expiration date.
                        required:
                          - enabled
                        additionalProperties: false
                      id:
                        type: string
                        format: uuid
                        description: Promocode id.
                      limitByFirstPurchase:
                        description: Whether the promocode is limited to the first purchase.
                        type: boolean
                    required:
                      - code
                      - id
                    additionalProperties: false
                  subscriptionId:
                    description: ID of the subscription this discount is associated with.
                    type: string
                    format: uuid
                required:
                  - coupon
                additionalProperties: false
            errorDescription:
              description: Payment gateway error description for failed transactions.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the transaction.
            invoice:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Invoice id.
                title:
                  type: string
                  description: Invoice title.
              required:
                - id
                - title
              additionalProperties: false
            locationAddress:
              description: Location billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            locationName:
              description: Location legal name.
              type: string
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location).
            locationTaxId:
              description: Location tax ID.
              type: string
            membershipRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            membershipRefCreator:
              deprecated: true
              description: Deprecated. Use customerRefCreatedBy instead.
              type: string
              format: uuid
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            order:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Order id.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Order item id.
                      product:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Product id.
                          option:
                            description: Product option.
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Product option id.
                              title:
                                type: string
                                description: Product option title.
                            required:
                              - id
                              - title
                            additionalProperties: false
                          title:
                            type: string
                            description: Product title.
                        required:
                          - id
                          - title
                        additionalProperties: false
                        description: Ordered product.
                      quantity:
                        type: number
                        description: Quantity of units.
                    required:
                      - id
                      - product
                      - quantity
                    additionalProperties: false
                  description: Order items.
              required:
                - id
                - items
              additionalProperties: false
            payment:
              type: object
              properties:
                dispute:
                  description: Payment dispute details.
                  type: object
                  properties:
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the dispute was opened.
                  required:
                    - createDate
                  additionalProperties: false
                method:
                  type: object
                  properties:
                    external:
                      description: Present when type is external.
                      type: object
                      properties: {}
                      additionalProperties: false
                    paymentGateway:
                      description: Present when type is paymentGateway.
                      type: object
                      properties:
                        gateway:
                          type: string
                          description: Payment gateway identifier.
                        label:
                          description: Display label for the payment method.
                          type: string
                        mask:
                          description: Masked card or account identifier.
                          type: string
                        title:
                          description: Display title for the payment gateway.
                          type: string
                      required:
                        - gateway
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - external
                        - paymentGateway
                      description: Payment method type.
                  required:
                    - type
                  additionalProperties: false
                  description: Payment method used.
                price:
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        currencyCode:
                          type: string
                          description: ISO currency code.
                        grossAmount:
                          type: number
                          description: Payment amount in major units.
                      required:
                        - currencyCode
                        - grossAmount
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
                  description: Payment price details.
                refundable:
                  type: boolean
                  description: Whether this payment can be refunded.
                refunds:
                  description: Refunds issued against this payment.
                  type: object
                  properties:
                    money:
                      type: array
                      items:
                        type: object
                        properties:
                          createDate:
                            type: string
                            format: date-time
                            description: Refund creation timestamp.
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          customerRefCreatedBy:
                            description: ID of the customer the user who created the refund belongs to.
                            type: string
                            format: uuid
                          grossAmount:
                            type: number
                            description: Refunded amount in major units.
                          id:
                            type: string
                            format: uuid
                            description: Refund id.
                          initiator:
                            description: 'Who initiated the refund: `spacebring` for a refund issued in Spacebring, `stripe` for one issued in the Stripe dashboard.'
                            type: string
                          userCreatedBy:
                            description: User who created the refund.
                            type: object
                            properties:
                              about:
                                nullable: true
                                type: string
                              email:
                                nullable: true
                                type: string
                              id:
                                type: string
                                format: uuid
                              name:
                                nullable: true
                                type: string
                              phoneNumber:
                                nullable: true
                                type: string
                              photoUrl:
                                nullable: true
                                type: string
                              surname:
                                nullable: true
                                type: string
                            required:
                              - id
                            additionalProperties: false
                        required:
                          - createDate
                          - currencyCode
                          - grossAmount
                          - id
                        additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
                surcharge:
                  description: Payment surcharge details.
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Surcharge amount in major units.
                        currencyCode:
                          type: string
                          description: ISO currency code.
                        percentage:
                          description: Surcharge percentage.
                          type: number
                        rate:
                          description: Surcharge rate.
                          type: number
                      required:
                        - amount
                        - currencyCode
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
              required:
                - method
                - price
                - refundable
              additionalProperties: false
              description: Payment details.
            paymentMethod:
              type: object
              properties:
                label:
                  description: Display label of the payment method.
                  type: string
                type:
                  type: string
                  description: Payment gateway identifier, or external.
              required:
                - type
              additionalProperties: false
              deprecated: true
              description: Deprecated. Use payment.method instead.
            paymentDate:
              description: ISO timestamp of when the money was received. Absent until the transaction succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it. Ordering and the createDate filters always follow createDate, not this field.
              type: string
              format: date-time
            plan:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Plan id.
                title:
                  type: string
                  description: Plan title.
              required:
                - id
                - title
              additionalProperties: false
            product:
              description: Product details.
              type: object
              properties:
                bookingRef:
                  description: ID of the associated booking.
                  type: string
                  format: uuid
                eventTicketRef:
                  description: ID of the associated event ticket.
                  type: string
                  format: uuid
                invoiceRef:
                  description: ID of the associated invoice.
                  type: string
                  format: uuid
                orderRef:
                  description: ID of the associated order.
                  type: string
                  format: uuid
                subscriptionRef:
                  description: ID of the associated subscription.
                  type: string
                  format: uuid
                title:
                  description: Display title of the product.
                  type: string
                type:
                  type: string
                  enum:
                    - booking
                    - custom
                    - creditPackage
                    - eventTicket
                    - invoice
                    - order
                    - subscription
                  description: Product type.
              required:
                - type
              additionalProperties: false
            receiptPdfUrl:
              description: URL to download the receipt PDF. The URL carries a receipt token, so it can be opened without authentication.
              type: string
            refund:
              deprecated: true
              description: Deprecated. Use payment.refunds instead.
              type: object
              properties:
                amount:
                  type: number
                  description: Refunded amount.
                createDate:
                  type: string
                  format: date-time
                  description: Refund creation timestamp.
              required:
                - amount
                - createDate
              additionalProperties: false
            refunds:
              deprecated: true
              description: Deprecated. Use payment.refunds instead.
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Refunded amount.
                  createDate:
                    type: string
                    format: date-time
                    description: Refund creation timestamp.
                  currencyCode:
                    description: ISO currency code.
                    type: string
                  id:
                    description: Refund id.
                    type: string
                    format: uuid
                  initiator:
                    description: Refund initiator.
                    type: string
                  membershipRefCreator:
                    description: Membership of the user who created the refund.
                    type: string
                    format: uuid
                  organizationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  userCreator:
                    description: User who created the refund.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                  userRefCreator:
                    description: User id of the refund creator.
                    type: string
                    format: uuid
                required:
                  - amount
                  - createDate
                  - organizationRef
                additionalProperties: false
            status:
              type: string
              enum:
                - canceled
                - failed
                - pending
                - processing
                - succeeded
              description: Transaction status.
            ticket:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                createDate:
                  description: Ticket creation timestamp.
                  type: string
                  format: date-time
                deleteDate:
                  description: ISO timestamp of when the ticket was deleted.
                  type: string
                  format: date-time
                event:
                  description: Event details.
                  type: object
                  properties:
                    endDate:
                      description: Event end date.
                      type: string
                      format: date-time
                    id:
                      type: string
                      format: uuid
                      description: Event id.
                    startDate:
                      description: Event start date.
                      type: string
                      format: date-time
                    title:
                      type: string
                      description: Event title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                id:
                  type: string
                  format: uuid
                  description: Ticket id.
                membershipRefDeletedBy:
                  description: Membership of the user who deleted the ticket.
                  type: string
                  format: uuid
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Ticket price.
                quantity:
                  type: number
                  description: Number of tickets.
                userDeletedBy:
                  description: User who deleted the ticket.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - price
                - quantity
              additionalProperties: false
            type:
              type: string
              enum:
                - booking
                - custom
                - creditPackage
                - eventTicket
                - invoice
                - order
                - subscription
              description: Money transaction type.
            user:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreatedBy:
              description: User who created the transaction.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userRefCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: string
              format: uuid
            userRefOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: string
              format: uuid
          required:
            - amount
            - createDate
            - currencyCode
            - id
            - locationRef
            - networkRef
            - payment
            - paymentMethod
            - status
            - type
      required:
        - transaction
    getMoneyTransaction:
      type: object
      properties:
        transaction:
          type: object
          additionalProperties: false
          description: The money transaction.
          properties:
            amount:
              type: number
              description: Transaction amount in major units.
            billingAddressBy:
              deprecated: true
              description: Deprecated. Use locationAddress instead.
              type: string
            billingAddressTo:
              deprecated: true
              description: Deprecated. Use customerAddress instead.
              type: string
            booking:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                deleteDate:
                  description: ISO timestamp of when the booking was deleted.
                  type: string
                  format: date-time
                endDate:
                  description: Booking end date.
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
                  description: Booking id.
                membershipRefDeletedBy:
                  description: Membership of the user who deleted the booking.
                  type: string
                  format: uuid
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Booking price.
                resource:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Resource id.
                    title:
                      type: string
                      description: Resource title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                  description: Booked resource.
                startDate:
                  description: Booking start date.
                  type: string
                  format: date-time
                userDeletedBy:
                  description: User who deleted the booking.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - price
                - resource
              additionalProperties: false
            company:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: object
              properties:
                createDate:
                  type: string
                  format: date-time
                  description: ISO timestamp of company creation.
                id:
                  type: string
                  format: uuid
                  description: Company id.
                locationRef:
                  type: string
                  format: uuid
                  description: Location id.
                metadata:
                  description: Company metadata.
                  type: object
                  additionalProperties: {}
                notes:
                  description: Internal notes.
                  type: string
                subscriptionRef:
                  nullable: true
                  description: Primary subscription id.
                  type: string
                  format: uuid
                title:
                  type: string
                  description: Company name.
              required:
                - createDate
                - id
                - locationRef
                - subscriptionRef
                - title
              additionalProperties: false
            companyRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            createDate:
              type: string
              format: date-time
              description: ISO timestamp of when the transaction was created.
            creditPackage:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                amount:
                  type: number
                  description: Credits amount of the package, or the package price when the package has no credits.
                creditsAmount:
                  description: Credits amount of the package.
                  type: number
                dayPassesAmount:
                  description: Day passes amount of the package.
                  type: number
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Package price.
              required:
                - amount
                - price
              additionalProperties: false
            currencyCode:
              type: string
              description: ISO currency code.
            customer:
              description: Customer associated with this transaction.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: ID of the company or user.
                logo:
                  description: Company logo.
                  type: object
                  properties:
                    key:
                      type: string
                    url:
                      type: string
                  required:
                    - key
                    - url
                  additionalProperties: false
                publicLogoUrl:
                  description: Public logo URL derived from the company website.
                  type: string
                title:
                  description: Company name.
                  type: string
                type:
                  type: string
                  enum:
                    - company
                    - user
                  description: Whether the customer is a company or a user.
                user:
                  description: User details for user customers.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - type
              additionalProperties: false
            customerRefCreatedBy:
              description: ID of the customer the user who created the transaction belongs to.
              type: string
              format: uuid
            customerAddress:
              description: Customer billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            customerName:
              description: Customer legal name.
              type: string
            customerTaxId:
              description: Customer tax ID.
              type: string
            customItem:
              description: Custom item details.
              type: object
              properties:
                currencyCode:
                  description: Custom item currency code.
                  type: string
                description:
                  description: Custom item description.
                  type: string
                tax:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Whether tax is enabled for the custom item.
                    rate:
                      type: number
                      minimum: 0
                      description: Tax rate.
                  required:
                    - enabled
                    - rate
                  additionalProperties: false
                unitAmount:
                  description: Custom item unit amount in major units.
                  type: number
                unitQuantity:
                  description: Custom item unit quantity.
                  type: number
              additionalProperties: false
            discounts:
              description: Discounts applied to the transaction.
              type: array
              items:
                type: object
                properties:
                  coupon:
                    type: object
                    properties:
                      amountOff:
                        description: Fixed amount discount.
                        type: number
                      currencyCode:
                        description: Currency of the fixed amount discount.
                        type: string
                      id:
                        description: Coupon id.
                        type: string
                      percentOff:
                        description: Percentage discount.
                        type: number
                      productTypes:
                        description: Product types the coupon applies to.
                        type: array
                        items:
                          type: string
                      type:
                        description: Coupon type.
                        type: string
                    additionalProperties: false
                    description: Applied coupon.
                  promocode:
                    description: Promocode the coupon was applied with.
                    type: object
                    properties:
                      code:
                        type: string
                        description: Promocode.
                      expiration:
                        description: Promocode expiration settings.
                        type: object
                        properties:
                          date:
                            description: ISO timestamp when the promocode expires.
                            type: string
                            format: date-time
                          enabled:
                            type: boolean
                            description: Whether the promocode has an expiration date.
                        required:
                          - enabled
                        additionalProperties: false
                      id:
                        type: string
                        format: uuid
                        description: Promocode id.
                      limitByFirstPurchase:
                        description: Whether the promocode is limited to the first purchase.
                        type: boolean
                    required:
                      - code
                      - id
                    additionalProperties: false
                  subscriptionId:
                    description: ID of the subscription this discount is associated with.
                    type: string
                    format: uuid
                required:
                  - coupon
                additionalProperties: false
            errorDescription:
              description: Payment gateway error description for failed transactions.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the transaction.
            invoice:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Invoice id.
                title:
                  type: string
                  description: Invoice title.
              required:
                - id
                - title
              additionalProperties: false
            locationAddress:
              description: Location billing address.
              type: object
              properties:
                city:
                  type: string
                countryCode:
                  nullable: true
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              required:
                - city
                - countryCode
                - line1
                - line2
                - postalCode
                - state
              additionalProperties: false
            locationName:
              description: Location legal name.
              type: string
            locationRef:
              type: string
              format: uuid
              description: ID of the organization (location).
            locationTaxId:
              description: Location tax ID.
              type: string
            membershipRef:
              deprecated: true
              description: Deprecated. Use customer instead.
              type: string
              format: uuid
            membershipRefCreator:
              deprecated: true
              description: Deprecated. Use customerRefCreatedBy instead.
              type: string
              format: uuid
            networkRef:
              type: string
              format: uuid
              description: ID of the network.
            order:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Order id.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Order item id.
                      product:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Product id.
                          option:
                            description: Product option.
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Product option id.
                              title:
                                type: string
                                description: Product option title.
                            required:
                              - id
                              - title
                            additionalProperties: false
                          title:
                            type: string
                            description: Product title.
                        required:
                          - id
                          - title
                        additionalProperties: false
                        description: Ordered product.
                      quantity:
                        type: number
                        description: Quantity of units.
                    required:
                      - id
                      - product
                      - quantity
                    additionalProperties: false
                  description: Order items.
              required:
                - id
                - items
              additionalProperties: false
            payment:
              type: object
              properties:
                dispute:
                  description: Payment dispute details.
                  type: object
                  properties:
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the dispute was opened.
                  required:
                    - createDate
                  additionalProperties: false
                method:
                  type: object
                  properties:
                    external:
                      description: Present when type is external.
                      type: object
                      properties: {}
                      additionalProperties: false
                    paymentGateway:
                      description: Present when type is paymentGateway.
                      type: object
                      properties:
                        gateway:
                          type: string
                          description: Payment gateway identifier.
                        label:
                          description: Display label for the payment method.
                          type: string
                        mask:
                          description: Masked card or account identifier.
                          type: string
                        title:
                          description: Display title for the payment gateway.
                          type: string
                      required:
                        - gateway
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - external
                        - paymentGateway
                      description: Payment method type.
                  required:
                    - type
                  additionalProperties: false
                  description: Payment method used.
                price:
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        currencyCode:
                          type: string
                          description: ISO currency code.
                        grossAmount:
                          type: number
                          description: Payment amount in major units.
                      required:
                        - currencyCode
                        - grossAmount
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
                  description: Payment price details.
                refundable:
                  type: boolean
                  description: Whether this payment can be refunded.
                refunds:
                  description: Refunds issued against this payment.
                  type: object
                  properties:
                    money:
                      type: array
                      items:
                        type: object
                        properties:
                          createDate:
                            type: string
                            format: date-time
                            description: Refund creation timestamp.
                          currencyCode:
                            type: string
                            description: ISO currency code.
                          customerRefCreatedBy:
                            description: ID of the customer the user who created the refund belongs to.
                            type: string
                            format: uuid
                          grossAmount:
                            type: number
                            description: Refunded amount in major units.
                          id:
                            type: string
                            format: uuid
                            description: Refund id.
                          initiator:
                            description: 'Who initiated the refund: `spacebring` for a refund issued in Spacebring, `stripe` for one issued in the Stripe dashboard.'
                            type: string
                          userCreatedBy:
                            description: User who created the refund.
                            type: object
                            properties:
                              about:
                                nullable: true
                                type: string
                              email:
                                nullable: true
                                type: string
                              id:
                                type: string
                                format: uuid
                              name:
                                nullable: true
                                type: string
                              phoneNumber:
                                nullable: true
                                type: string
                              photoUrl:
                                nullable: true
                                type: string
                              surname:
                                nullable: true
                                type: string
                            required:
                              - id
                            additionalProperties: false
                        required:
                          - createDate
                          - currencyCode
                          - grossAmount
                          - id
                        additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
                surcharge:
                  description: Payment surcharge details.
                  type: object
                  properties:
                    money:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: Surcharge amount in major units.
                        currencyCode:
                          type: string
                          description: ISO currency code.
                        percentage:
                          description: Surcharge percentage.
                          type: number
                        rate:
                          description: Surcharge rate.
                          type: number
                      required:
                        - amount
                        - currencyCode
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - money
                  required:
                    - money
                    - type
                  additionalProperties: false
              required:
                - method
                - price
                - refundable
              additionalProperties: false
              description: Payment details.
            paymentMethod:
              type: object
              properties:
                label:
                  description: Display label of the payment method.
                  type: string
                type:
                  type: string
                  description: Payment gateway identifier, or external.
              required:
                - type
              additionalProperties: false
              deprecated: true
              description: Deprecated. Use payment.method instead.
            paymentDate:
              description: ISO timestamp of when the money was received. Absent until the transaction succeeds. A payment gateway sets it when it approves the payment; an external payment takes the date the administrator recorded, defaulting to when they recorded it. Ordering and the createDate filters always follow createDate, not this field.
              type: string
              format: date-time
            plan:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Plan id.
                title:
                  type: string
                  description: Plan title.
              required:
                - id
                - title
              additionalProperties: false
            product:
              description: Product details.
              type: object
              properties:
                bookingRef:
                  description: ID of the associated booking.
                  type: string
                  format: uuid
                eventTicketRef:
                  description: ID of the associated event ticket.
                  type: string
                  format: uuid
                invoiceRef:
                  description: ID of the associated invoice.
                  type: string
                  format: uuid
                orderRef:
                  description: ID of the associated order.
                  type: string
                  format: uuid
                subscriptionRef:
                  description: ID of the associated subscription.
                  type: string
                  format: uuid
                title:
                  description: Display title of the product.
                  type: string
                type:
                  type: string
                  enum:
                    - booking
                    - custom
                    - creditPackage
                    - eventTicket
                    - invoice
                    - order
                    - subscription
                  description: Product type.
              required:
                - type
              additionalProperties: false
            receiptPdfUrl:
              description: URL to download the receipt PDF. The URL carries a receipt token, so it can be opened without authentication.
              type: string
            refund:
              deprecated: true
              description: Deprecated. Use payment.refunds instead.
              type: object
              properties:
                amount:
                  type: number
                  description: Refunded amount.
                createDate:
                  type: string
                  format: date-time
                  description: Refund creation timestamp.
              required:
                - amount
                - createDate
              additionalProperties: false
            refunds:
              deprecated: true
              description: Deprecated. Use payment.refunds instead.
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    description: Refunded amount.
                  createDate:
                    type: string
                    format: date-time
                    description: Refund creation timestamp.
                  currencyCode:
                    description: ISO currency code.
                    type: string
                  id:
                    description: Refund id.
                    type: string
                    format: uuid
                  initiator:
                    description: Refund initiator.
                    type: string
                  membershipRefCreator:
                    description: Membership of the user who created the refund.
                    type: string
                    format: uuid
                  organizationRef:
                    type: string
                    format: uuid
                    description: Location id.
                  userCreator:
                    description: User who created the refund.
                    type: object
                    properties:
                      about:
                        nullable: true
                        type: string
                      email:
                        nullable: true
                        type: string
                      id:
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        type: string
                      phoneNumber:
                        nullable: true
                        type: string
                      photoUrl:
                        nullable: true
                        type: string
                      surname:
                        nullable: true
                        type: string
                    required:
                      - id
                    additionalProperties: false
                  userRefCreator:
                    description: User id of the refund creator.
                    type: string
                    format: uuid
                required:
                  - amount
                  - createDate
                  - organizationRef
                additionalProperties: false
            status:
              type: string
              enum:
                - canceled
                - failed
                - pending
                - processing
                - succeeded
              description: Transaction status.
            ticket:
              deprecated: true
              description: Deprecated. Use product instead.
              type: object
              properties:
                createDate:
                  description: Ticket creation timestamp.
                  type: string
                  format: date-time
                deleteDate:
                  description: ISO timestamp of when the ticket was deleted.
                  type: string
                  format: date-time
                event:
                  description: Event details.
                  type: object
                  properties:
                    endDate:
                      description: Event end date.
                      type: string
                      format: date-time
                    id:
                      type: string
                      format: uuid
                      description: Event id.
                    startDate:
                      description: Event start date.
                      type: string
                      format: date-time
                    title:
                      type: string
                      description: Event title.
                  required:
                    - id
                    - title
                  additionalProperties: false
                id:
                  type: string
                  format: uuid
                  description: Ticket id.
                membershipRefDeletedBy:
                  description: Membership of the user who deleted the ticket.
                  type: string
                  format: uuid
                price:
                  type: object
                  properties:
                    netAmount:
                      type: number
                      description: Amount excluding tax in major units.
                    taxAmount:
                      description: Tax amount in major units.
                      type: number
                  required:
                    - netAmount
                  additionalProperties: false
                  deprecated: true
                  description: Ticket price.
                quantity:
                  type: number
                  description: Number of tickets.
                userDeletedBy:
                  description: User who deleted the ticket.
                  type: object
                  properties:
                    about:
                      nullable: true
                      type: string
                    email:
                      nullable: true
                      type: string
                    id:
                      type: string
                      format: uuid
                    name:
                      nullable: true
                      type: string
                    phoneNumber:
                      nullable: true
                      type: string
                    photoUrl:
                      nullable: true
                      type: string
                    surname:
                      nullable: true
                      type: string
                  required:
                    - id
                  additionalProperties: false
              required:
                - id
                - price
                - quantity
              additionalProperties: false
            type:
              type: string
              enum:
                - booking
                - custom
                - creditPackage
                - eventTicket
                - invoice
                - order
                - subscription
              description: Money transaction type.
            user:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userCreatedBy:
              description: User who created the transaction.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: object
              properties:
                about:
                  nullable: true
                  type: string
                email:
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  nullable: true
                  type: string
                phoneNumber:
                  nullable: true
                  type: string
                photoUrl:
                  nullable: true
                  type: string
                surname:
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
            userRefCreator:
              deprecated: true
              description: Deprecated. Use userCreatedBy instead.
              type: string
              format: uuid
            userRefOwner:
              deprecated: true
              description: Deprecated. Use customer.user instead.
              type: string
              format: uuid
          required:
            - amount
            - createDate
            - currencyCode
            - id
            - locationRef
            - networkRef
            - payment
            - paymentMethod
            - status
            - type
      required:
        - transaction
      additionalProperties: false
    refundMoneyTransaction:
      type: object
      properties:
        refund:
          type: object
          properties:
            currencyCode:
              type: string
              description: Currency code of the refunded amount.
            money:
              type: number
              description: Refunded amount.
          required:
            - currencyCode
            - money
          additionalProperties: false
          description: The refund that was made.
      required:
        - refund
      additionalProperties: false
    balance:
      type: object
      properties:
        allocation:
          type: number
          description: Amount allocated to this balance, in credits for a credits balance and in day passes for a day passes balance.
        amount:
          type: number
          description: Amount left in this balance.
        crossLocationUsage:
          type: number
          description: Amount of this balance already spent at other locations of the network.
        expirationDate:
          description: When this balance expires. Absent for the permanent balance.
          type: string
          format: date-time
        subscriptionRef:
          description: Subscription that allocated this balance. Absent for the permanent balance.
          type: string
          format: uuid
      required:
        - allocation
        - amount
        - crossLocationUsage
      additionalProperties: false
    contact:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the contact was created.
        date:
          type: string
          format: date-time
          description: ISO timestamp of the contact record.
        id:
          type: string
          format: uuid
          description: Unique identifier of the contact.
        locationRef:
          type: string
          format: uuid
          description: ID of the location associated with the contact.
        userRefVisitor:
          type: string
          format: uuid
          description: ID of the visitor user.
        visitor:
          type: object
          properties:
            email:
              type: string
              description: Visitor email address.
            name:
              type: string
              description: Visitor first name.
            phoneNumber:
              description: Visitor phone number.
              type: string
            surname:
              description: Visitor surname.
              type: string
          required:
            - email
            - name
          additionalProperties: false
          description: Visitor details.
      required:
        - createDate
        - date
        - id
        - locationRef
        - userRefVisitor
        - visitor
      additionalProperties: false
    visitRequest:
      type: object
      properties:
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the request was created.
        id:
          type: string
          format: uuid
          description: Unique identifier of the visit request.
        locationRef:
          type: string
          format: uuid
          description: ID of the location for the requested visit.
        membershipRefHost:
          type: string
          format: uuid
          description: ID of the host membership.
        userHost:
          description: Host user details.
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the host user.
            name:
              description: First name of the host user.
              nullable: true
              type: string
            photoUrl:
              description: Profile photo URL of the host user.
              nullable: true
              type: string
            surname:
              description: Surname of the host user.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
        userRefHost:
          type: string
          format: uuid
          description: ID of the host user.
        userRefVisitor:
          type: string
          format: uuid
          description: ID of the visitor user.
        visitor:
          type: object
          properties:
            email:
              type: string
              description: Visitor email address.
            name:
              type: string
              description: Visitor first name.
            phoneNumber:
              description: Visitor phone number.
              type: string
            surname:
              description: Visitor surname.
              type: string
          required:
            - email
            - name
          additionalProperties: false
          description: Visitor details.
      required:
        - createDate
        - id
        - locationRef
        - membershipRefHost
        - userRefHost
        - userRefVisitor
        - visitor
      additionalProperties: false
    visit:
      type: object
      properties:
        checkInDate:
          description: ISO timestamp when the visitor checked in.
          type: string
          format: date-time
        checkInRef:
          description: ID of the check-in created for the visit.
          type: string
          format: uuid
        checkOutDate:
          description: ISO timestamp when the visitor checked out.
          type: string
          format: date-time
        code:
          type: string
          description: Visit access code.
        comment:
          description: Optional comment on the visit.
          type: string
        createDate:
          type: string
          format: date-time
          description: ISO timestamp of when the visit was created.
        customer:
          type: object
          properties:
            company:
              description: Company of the host, present when the host membership is a member of a company.
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the company.
                title:
                  type: string
                  description: Company name.
              required:
                - id
                - title
              additionalProperties: false
            id:
              type: string
              format: uuid
              description: ID of the host customer.
            user:
              type: object
              properties:
                about:
                  description: About text of the host user.
                  nullable: true
                  type: string
                email:
                  description: Email of the host user.
                  nullable: true
                  type: string
                id:
                  type: string
                  format: uuid
                  description: Unique identifier of the host user.
                name:
                  description: First name of the host user.
                  nullable: true
                  type: string
                phoneNumber:
                  description: Phone number of the host user.
                  nullable: true
                  type: string
                photoUrl:
                  description: Profile photo URL of the host user.
                  nullable: true
                  type: string
                surname:
                  description: Surname of the host user.
                  nullable: true
                  type: string
              required:
                - id
              additionalProperties: false
              description: Host user details.
          required:
            - id
            - user
          additionalProperties: false
          description: Host customer.
        date:
          type: string
          format: date-time
          description: ISO timestamp of the scheduled visit date.
        deleteDate:
          description: ISO timestamp of when the visit was canceled.
          type: string
          format: date-time
        id:
          type: string
          format: uuid
          description: Unique identifier of the visit.
        location:
          type: object
          properties:
            address:
              description: Street address of the location.
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the location.
            timezoneId:
              type: string
              description: IANA timezone identifier of the location.
            title:
              type: string
              description: Display name of the location.
          required:
            - id
            - timezoneId
            - title
          additionalProperties: false
          description: Location where the visit takes place.
        locationRef:
          type: string
          format: uuid
          description: ID of the location where the visit takes place.
        membershipRefHost:
          type: string
          format: uuid
          deprecated: true
          description: Deprecated. Use customer.id instead.
        userHost:
          type: object
          properties:
            about:
              description: About text of the host user.
              nullable: true
              type: string
            email:
              description: Email of the host user.
              nullable: true
              type: string
            id:
              type: string
              format: uuid
              description: Unique identifier of the host user.
            name:
              description: First name of the host user.
              nullable: true
              type: string
            phoneNumber:
              description: Phone number of the host user.
              nullable: true
              type: string
            photoUrl:
              description: Profile photo URL of the host user.
              nullable: true
              type: string
            surname:
              description: Surname of the host user.
              nullable: true
              type: string
          required:
            - id
          additionalProperties: false
          deprecated: true
          description: Deprecated. Use customer.user instead.
        userRefHost:
          type: string
          format: uuid
          description: ID of the host user.
        userRefVisitor:
          type: string
          format: uuid
          description: ID of the visitor user.
        visitor:
          type: object
          properties:
            email:
              type: string
              description: Visitor email address.
            name:
              type: string
              description: Visitor first name.
            phoneNumber:
              description: Visitor phone number.
              type: string
            surname:
              description: Visitor surname.
              type: string
          required:
            - email
            - name
          additionalProperties: false
          description: Visitor details.
      required:
        - code
        - createDate
        - customer
        - date
        - id
        - location
        - locationRef
        - membershipRefHost
        - userHost
        - userRefHost
        - userRefVisitor
        - visitor
      additionalProperties: false
  requestBodies:
    createAltCurrency:
      content:
        application/json:
          schema:
            type: object
            properties:
              altCurrency:
                allOf:
                  - type: object
                    properties:
                      currencyCode:
                        type: string
                        minLength: 1
                        description: ISO 4217 currency code.
                      locationRef:
                        type: string
                        format: uuid
                        description: ID of the location this alt currency belongs to.
                    required:
                      - currencyCode
                      - locationRef
                  - oneOf:
                      - type: object
                        properties:
                          provider:
                            type: string
                            enum:
                              - nbu
                              - bcra
                              - nbg
                              - bcch
                              - ecb
                            description: Exchange rate provider when auto-update is enabled.
                        required:
                          - provider
                      - type: object
                        properties:
                          exchangeRate:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                            description: Exchange rate relative to the location main currency.
                        required:
                          - exchangeRate
                description: Alt currency to create.
            required:
              - altCurrency
      required: true
    updateAltCurrency:
      content:
        application/json:
          schema:
            type: object
            properties:
              altCurrency:
                allOf:
                  - type: object
                    properties: {}
                  - oneOf:
                      - type: object
                        properties:
                          provider:
                            type: string
                            enum:
                              - nbu
                              - bcra
                              - nbg
                              - bcch
                              - ecb
                            description: Exchange rate provider when auto-update is enabled.
                        required:
                          - provider
                      - type: object
                        properties:
                          exchangeRate:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                            description: Exchange rate relative to the location main currency.
                        required:
                          - exchangeRate
                description: Alt currency fields to update
            required:
              - altCurrency
      required: true
    createBenefitCategory:
      content:
        application/json:
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where to create this category.
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the category.
                required:
                  - locationRef
                  - title
                description: Benefit category to create.
            required:
              - category
      required: true
    updateBenefitCategory:
      content:
        application/json:
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the category.
                required:
                  - title
                description: Benefit category to update.
            required:
              - category
      required: true
    createBenefit:
      content:
        application/json:
          schema:
            type: object
            properties:
              benefit:
                type: object
                properties:
                  application:
                    default:
                      allowance: unlimited
                      buttonLabel: apply
                      confirmationEmail:
                        enabled: false
                        template: ''
                      enabled: true
                    type: object
                    properties:
                      allowance:
                        default: unlimited
                        description: 'How often a user can apply: ''once'' limits to a single use, ''unlimited'' allows repeated use.'
                        type: string
                        enum:
                          - once
                          - unlimited
                      buttonLabel:
                        default: apply
                        description: Label on the call-to-action button.
                        type: string
                        enum:
                          - apply
                          - buy
                          - contact
                          - get
                          - learnMore
                      confirmationEmail:
                        type: object
                        properties:
                          enabled:
                            default: false
                            description: Whether a confirmation email is sent after applying.
                            type: boolean
                          template:
                            default: ''
                            description: HTML template for the confirmation email.
                            type: string
                        description: Confirmation email settings for applications.
                      enabled:
                        default: true
                        description: Whether the application flow is enabled for this benefit.
                        type: boolean
                    required:
                      - confirmationEmail
                  categoryRef:
                    type: string
                    format: uuid
                    description: ID of the benefit category this benefit belongs to.
                  description:
                    default: ''
                    description: Full description of the benefit.
                    type: string
                  featured:
                    default: false
                    description: Whether the benefit is highlighted in listings.
                    type: boolean
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this benefit is associated with.
                  media:
                    description: Media files to attach. The url is generated server-side.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  subtitle:
                    default: ''
                    description: Short tagline displayed below the title.
                    type: string
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the benefit.
                  visibility:
                    default: public
                    description: 'Who can see this benefit: ''public'' (everyone), ''admins'', ''exclusiveMembers'', ''members'', or ''networkMembers''.'
                    type: string
                    enum:
                      - public
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                required:
                  - categoryRef
                  - locationRef
                  - title
                description: Benefit to create.
            required:
              - benefit
      required: true
    updateBenefit:
      content:
        application/json:
          schema:
            type: object
            properties:
              benefit:
                type: object
                properties:
                  application:
                    default:
                      allowance: unlimited
                      buttonLabel: apply
                      confirmationEmail:
                        enabled: false
                        template: ''
                      enabled: true
                    type: object
                    properties:
                      allowance:
                        default: unlimited
                        description: 'How often a user can apply: ''once'' limits to a single use, ''unlimited'' allows repeated use.'
                        type: string
                        enum:
                          - once
                          - unlimited
                      buttonLabel:
                        default: apply
                        description: Label on the call-to-action button.
                        type: string
                        enum:
                          - apply
                          - buy
                          - contact
                          - get
                          - learnMore
                      confirmationEmail:
                        type: object
                        properties:
                          enabled:
                            default: false
                            description: Whether a confirmation email is sent after applying.
                            type: boolean
                          template:
                            default: ''
                            description: HTML template for the confirmation email.
                            type: string
                        description: Confirmation email settings for applications.
                      enabled:
                        default: true
                        description: Whether the application flow is enabled for this benefit.
                        type: boolean
                    required:
                      - confirmationEmail
                  categoryRef:
                    type: string
                    format: uuid
                    description: ID of the benefit category this benefit belongs to.
                  description:
                    default: ''
                    description: Full description of the benefit.
                    type: string
                  featured:
                    default: false
                    description: Whether the benefit is highlighted in listings.
                    type: boolean
                  media:
                    description: Media files to attach. The url is generated server-side.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  subtitle:
                    default: ''
                    description: Short tagline displayed below the title.
                    type: string
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the benefit.
                  visibility:
                    default: public
                    description: 'Who can see this benefit: ''public'' (everyone), ''admins'', ''exclusiveMembers'', ''members'', or ''networkMembers''.'
                    type: string
                    enum:
                      - public
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                required:
                  - categoryRef
                  - title
                description: Benefit to update.
            required:
              - benefit
      required: true
    createBenefitMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 5242880
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createBenefitApplication:
      content:
        application/json:
          schema:
            type: object
            properties:
              application:
                type: object
                properties:
                  benefitId:
                    type: string
                    format: uuid
                    description: ID of the benefit to apply for.
                  comment:
                    description: Optional comment to include with the application.
                    type: string
                required:
                  - benefitId
                description: Benefit application to create.
            required:
              - application
      required: true
    createInvoice:
      content:
        application/json:
          schema:
            type: object
            properties:
              includeUpcomingItems:
                description: Whether to include upcoming items from active subscriptions.
                type: boolean
              invoice:
                type: object
                properties:
                  companyRef:
                    description: ID of the company to invoice.
                    type: string
                    format: uuid
                  dueDate:
                    description: Payment due date.
                    type: string
                    format: date-time
                  dueDays:
                    description: Number of days until payment is due.
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  dueType:
                    description: How the due date is calculated.
                    type: string
                    enum:
                      - date
                      - days
                      - default
                  internalNote:
                    description: Internal memo for this invoice.
                    type: string
                  membershipRef:
                    description: ID of the membership to invoice.
                    type: string
                    format: uuid
                  subscriptionRef:
                    description: ID of the subscription to invoice.
                    type: string
                    format: uuid
                description: Invoice to create.
              items:
                description: Invoice items to add on creation.
                type: array
                items:
                  type: object
                  properties:
                    companyRef:
                      description: ID of the company for this item.
                      type: string
                      format: uuid
                    description:
                      description: Item description (deprecated, use product.title).
                      deprecated: true
                      type: string
                    discounts:
                      description: Discounts to apply to this item.
                      type: array
                      items:
                        type: object
                        properties:
                          couponRef:
                            description: ID of the coupon to apply.
                            nullable: true
                            type: string
                            format: uuid
                    invoiceRef:
                      description: ID of the invoice to add this item to.
                      type: string
                      format: uuid
                    membershipRef:
                      description: ID of the membership for this item.
                      type: string
                      format: uuid
                    product:
                      description: Product details for this item.
                      type: object
                      properties:
                        optionRef:
                          description: ID of the product option.
                          type: string
                          format: uuid
                        title:
                          description: Product title.
                          type: string
                    quantity:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 9007199254740991
                      description: Number of units.
                    subscriptionRef:
                      description: ID of the subscription for this item.
                      type: string
                      format: uuid
                    tax:
                      description: Tax configuration for this item.
                      type: object
                      properties:
                        rate:
                          description: Tax rate as a decimal.
                          type: number
                          minimum: 0
                    type:
                      default: custom
                      description: Invoice item type.
                      type: string
                      enum:
                        - custom
                    unitAmount:
                      type: number
                      minimum: 0
                      description: Unit price in major units.
                  required:
                    - quantity
                    - unitAmount
            required:
              - invoice
      required: true
    patchInvoice:
      content:
        application/json:
          schema:
            type: object
            properties:
              invoice:
                type: object
                properties:
                  dueDate:
                    description: Payment due date.
                    type: string
                    format: date-time
                  dueDays:
                    description: Number of days until payment is due.
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  dueType:
                    description: How the due date is calculated.
                    type: string
                    enum:
                      - date
                      - days
                      - default
                  internalNote:
                    description: Internal memo for this invoice.
                    type: string
                description: Invoice fields to update.
            required:
              - invoice
      required: true
    issueInvoice:
      content:
        application/json:
          schema:
            type: object
            properties:
              skipAutoCharge:
                default: false
                description: If true, skip automatic charge after issuing the invoice.
                type: boolean
      required: false
    payInvoice:
      content:
        application/json:
          schema:
            type: object
            properties:
              amount:
                description: Partial payment amount in major units.
                type: number
                minimum: 0
                exclusiveMinimum: true
              payment:
                description: Payment details. Takes precedence over the deprecated paymentMethod field.
                type: object
                properties:
                  method:
                    type: object
                    properties:
                      external:
                        description: External payment method, recorded outside the platform.
                        type: object
                        properties:
                          paymentDate:
                            description: ISO timestamp of when the money was received. Defaults to now. Must not be in the future.
                            type: string
                            format: date-time
                      paymentGateway:
                        description: Payment gateway (card) payment method.
                        type: object
                        properties:
                          gateway:
                            type: string
                            enum:
                              - authorizenet
                              - freedompay
                              - hyperpay
                              - kakaopay
                              - maya
                              - mercadopago
                              - mollie
                              - paypal
                              - paystack
                              - payway
                              - plata
                              - stripe
                              - tap
                              - wayforpay
                              - xendit
                            description: Payment gateway provider.
                          id:
                            description: ID of the saved payment method.
                            nullable: true
                            type: string
                            format: uuid
                        required:
                          - gateway
                      type:
                        type: string
                        enum:
                          - external
                          - paymentGateway
                        description: Selected payment method type.
                    required:
                      - type
                    description: Payment method details.
                required:
                  - method
              paymentMethod:
                description: Payment method to use. Use payment.method instead.
                deprecated: true
                type: object
                properties:
                  id:
                    description: ID of the saved payment method.
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - authorizenet
                      - external
                      - freedompay
                      - hyperpay
                      - kakaopay
                      - maya
                      - mercadopago
                      - mollie
                      - paypal
                      - paystack
                      - payway
                      - plata
                      - stripe
                      - tap
                      - wayforpay
                      - xendit
                    description: Payment gateway type.
                required:
                  - type
              termsConsent:
                description: Whether the user has accepted the payment terms.
                type: boolean
      required: true
    createInvoiceItem:
      content:
        application/json:
          schema:
            type: object
            properties:
              invoiceItem:
                type: object
                properties:
                  companyRef:
                    description: ID of the company for this item.
                    type: string
                    format: uuid
                  description:
                    description: Item description (deprecated, use product.title).
                    deprecated: true
                    type: string
                  discounts:
                    description: Discounts to apply to this item.
                    type: array
                    items:
                      type: object
                      properties:
                        couponRef:
                          description: ID of the coupon to apply.
                          nullable: true
                          type: string
                          format: uuid
                  invoiceRef:
                    description: ID of the invoice to add this item to.
                    type: string
                    format: uuid
                  membershipRef:
                    description: ID of the membership for this item.
                    type: string
                    format: uuid
                  product:
                    description: Product details for this item.
                    type: object
                    properties:
                      optionRef:
                        description: ID of the product option.
                        type: string
                        format: uuid
                      title:
                        description: Product title.
                        type: string
                  quantity:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                    description: Number of units.
                  subscriptionRef:
                    description: ID of the subscription for this item.
                    type: string
                    format: uuid
                  tax:
                    description: Tax configuration for this item.
                    type: object
                    properties:
                      rate:
                        description: Tax rate as a decimal.
                        type: number
                        minimum: 0
                  type:
                    default: custom
                    description: Invoice item type.
                    type: string
                    enum:
                      - custom
                  unitAmount:
                    type: number
                    minimum: 0
                    description: Unit price in major units.
                required:
                  - quantity
                  - unitAmount
                description: Invoice line item to create.
            required:
              - invoiceItem
      required: true
    patchInvoiceItem:
      content:
        application/json:
          schema:
            type: object
            properties:
              invoiceItem:
                type: object
                properties:
                  product:
                    description: Product fields to update.
                    type: object
                    properties:
                      title:
                        description: Product title.
                        type: string
                        minLength: 1
                  quantity:
                    description: Number of units.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  unitAmount:
                    description: Unit price in major units.
                    type: number
                    minimum: 0
                description: Invoice line item to update.
            required:
              - invoiceItem
      required: true
    createCreditNote:
      content:
        application/json:
          schema:
            type: object
            properties:
              creditNote:
                type: object
                properties:
                  creditAmount:
                    description: Amount to credit to the customer balance in major units.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  effectiveDate:
                    description: Effective date for the credit note.
                    type: string
                    format: date-time
                  internalNote:
                    description: Internal memo.
                    type: string
                  invoiceRef:
                    type: string
                    format: uuid
                    description: ID of the invoice to credit.
                  lines:
                    minItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          description: Share of the invoice item pre-discount total to credit in major units; discounts are prorated and exclusive tax is added on top.
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                        invoiceItemRef:
                          type: string
                          format: uuid
                          description: ID of the invoice item to credit.
                        quantity:
                          description: Quantity to credit.
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 9007199254740991
                      required:
                        - invoiceItemRef
                      additionalProperties: false
                    description: Line items to credit.
                  outOfBandAmount:
                    description: Amount refunded outside the platform in major units.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  refunds:
                    description: Refunds to issue alongside this credit note.
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          description: Refund amount in major units.
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                        id:
                          description: ID of the payment to refund.
                          type: string
                          format: uuid
                        transactionRef:
                          description: ID of the transaction to refund.
                          type: string
                          format: uuid
                      additionalProperties: false
                  reason:
                    type: string
                    enum:
                      - duplicate
                      - orderChange
                      - productUnsatisfactory
                      - fraudulent
                      - other
                    description: Reason for issuing this credit note.
                required:
                  - invoiceRef
                  - lines
                  - reason
                description: Credit note to create.
            required:
              - creditNote
      required: true
    patchCreditNote:
      content:
        application/json:
          schema:
            type: object
            properties:
              creditNote:
                description: Credit note fields to update.
                type: object
                properties:
                  internalNote:
                    description: Internal memo.
                    type: string
      required: true
    previewCreditNote:
      content:
        application/json:
          schema:
            type: object
            properties:
              creditNote:
                type: object
                properties:
                  creditAmount:
                    description: Amount to credit to the customer balance in major units.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  effectiveDate:
                    description: Effective date for the credit note.
                    type: string
                    format: date-time
                  internalNote:
                    description: Internal memo.
                    type: string
                  invoiceRef:
                    type: string
                    format: uuid
                    description: ID of the invoice to credit.
                  lines:
                    minItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          description: Share of the invoice item pre-discount total to credit in major units; discounts are prorated and exclusive tax is added on top.
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                        invoiceItemRef:
                          type: string
                          format: uuid
                          description: ID of the invoice item to credit.
                        quantity:
                          description: Quantity to credit.
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 9007199254740991
                      required:
                        - invoiceItemRef
                      additionalProperties: false
                    description: Line items to credit.
                  outOfBandAmount:
                    description: Amount refunded outside the platform in major units.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  refunds:
                    description: Refunds to issue alongside this credit note.
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          description: Refund amount in major units.
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                        id:
                          description: ID of the payment to refund.
                          type: string
                          format: uuid
                        transactionRef:
                          description: ID of the transaction to refund.
                          type: string
                          format: uuid
                      additionalProperties: false
                required:
                  - invoiceRef
                  - lines
                description: Credit note to preview.
            required:
              - creditNote
      required: true
    checkIn:
      content:
        application/json:
          schema:
            type: object
            properties:
              checkInId:
                description: The ID of the check-in.
                type: string
                format: uuid
              code:
                description: Confirmation code of the check-in, or a member's personal code. Required when the check-in was created with one.
                type: string
              locationRef:
                description: UUID of the location the code was issued in. Required when the check-in is resolved by its code or a customer ref.
                type: string
                format: uuid
              customerRef:
                description: ID of a member to check in on their subscription without a code. Only administrators of the location can check a member in this way.
                type: string
                format: uuid
      required: true
    checkOut:
      content:
        application/json:
          schema:
            type: object
            properties:
              checkInId:
                description: The ID of the check-in.
                type: string
                format: uuid
              code:
                description: Confirmation code of the check-in, or a member's personal code. Required when the check-in was created with one.
                type: string
              locationRef:
                description: UUID of the location the code was issued in. Required when the check-in is resolved by its code or a customer ref.
                type: string
                format: uuid
      required: true
    createCompany:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              company:
                type: object
                properties:
                  billingAddress:
                    type: string
                    description: The billing address of company to create.
                  businessAddress:
                    type: object
                    properties:
                      city:
                        type: string
                        description: The city of company to create.
                      countryCode:
                        type: string
                        description: The country code of company to create.
                      line1:
                        type: string
                        description: The line 1 of company to create.
                      line2:
                        type: string
                        description: The line 2 of company to create.
                      postalCode:
                        type: string
                        description: The postal code of company to create.
                      state:
                        type: string
                        description: The state of company to create.
                  legalName:
                    type: string
                    description: The legal name of company to create.
                  locationRef:
                    type: string
                    format: uuid
                    description: The location id where to create a company.
                  logo:
                    type: object
                    description: Logo of the company. Upload the file with Create a logo upload first.
                    properties:
                      key:
                        type: string
                        description: Storage key of the logo file, as returned by the media upload endpoint.
                    required:
                      - key
                  metadata:
                    $ref: '#/components/schemas/metadata'
                  notes:
                    type: string
                    description: The notes of company to create.
                  taxId:
                    type: string
                    description: The tax id of company to create.
                  title:
                    type: string
                    description: The title of company to create.
                required:
                  - locationRef
                  - title
            required:
              - company
    createCompanyMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 5242880
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createMembership:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              membership:
                type: object
                properties:
                  businessAddress:
                    type: object
                    properties:
                      city:
                        type: string
                        description: The city of the membership to create.
                      countryCode:
                        type: string
                        description: The country code of the membership to create.
                      line1:
                        type: string
                        description: The line 1 of the membership to create.
                      line2:
                        type: string
                        description: The line 2 of the membership to create.
                      postalCode:
                        type: string
                        description: The postal code of the membership to create.
                      state:
                        type: string
                        description: The state of the membership to create.
                  companyRef:
                    type: string
                    format: uuid
                  companyRole:
                    type: string
                    enum:
                      - manager
                      - member
                  legalName:
                    type: string
                    description: The legal name of the membership to create.
                  taxId:
                    type: string
                    description: The tax id of the membership to create.
                  metadata:
                    $ref: '#/components/schemas/metadata'
                  notes:
                    type: string
                  locationRef:
                    type: string
                    format: uuid
                    description: The location id where to create a membership.
                  type:
                    type: string
                    enum:
                      - member
                      - nonmember
                    description: The type of membership. Default value is member.
                  user:
                    type: object
                    properties:
                      email:
                        type: string
                        format: email
                        description: An invitation letter will be sent to the given email.
                      about:
                        type: string
                      name:
                        type: string
                      phoneNumber:
                        type: string
                      surname:
                        type: string
                    required:
                      - email
                      - name
                required:
                  - locationRef
                  - user
              locale:
                type: string
            required:
              - membership
    createContract:
      content:
        application/json:
          schema:
            type: object
            properties:
              contract:
                type: object
                properties:
                  actionable:
                    default: false
                    description: Whether the contract triggers a billing action when signed.
                    type: boolean
                  customerRef:
                    type: string
                    format: uuid
                    description: ID of the customer (membership or company).
                  endDate:
                    description: Contract end date.
                    type: string
                    format: date-time
                  expirationDate:
                    type: string
                    format: date-time
                    description: Date after which the contract can no longer be signed.
                  items:
                    description: Line items included in this contract.
                    type: array
                    items:
                      type: object
                      properties:
                        couponRef:
                          description: Applied coupon ID.
                          type: string
                          format: uuid
                        oneOff:
                          description: Whether this is a one-off item.
                          type: boolean
                        optionRef:
                          description: Shop product option ID.
                          type: string
                          format: uuid
                        planRef:
                          description: Membership plan ID.
                          type: string
                          format: uuid
                        price:
                          description: Item price override.
                          type: number
                        productRef:
                          description: Shop product ID.
                          type: string
                          format: uuid
                        quantity:
                          type: number
                          minimum: 1
                          description: Number of units.
                        resourceRef:
                          description: Resource ID.
                          type: string
                          format: uuid
                        tierRef:
                          description: Plan tier ID.
                          type: string
                          format: uuid
                        title:
                          type: string
                          description: Display name of the item.
                        type:
                          type: string
                          enum:
                            - plan
                            - resource
                            - oneOff
                          description: Item type.
                      required:
                        - quantity
                        - title
                        - type
                      additionalProperties: false
                  signers:
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                          description: Signer email address.
                        name:
                          type: string
                          description: Signer first name.
                        phoneNumber:
                          description: Phone number.
                          type: string
                        surname:
                          description: Signer last name.
                          type: string
                        type:
                          type: string
                          enum:
                            - customer
                            - location
                          description: Whether this is a location or customer signer.
                      required:
                        - email
                        - name
                        - type
                    description: People required to sign this contract.
                  startDate:
                    description: Contract start date.
                    type: string
                    format: date-time
                  templateRef:
                    type: string
                    format: uuid
                    description: ID of the template to use for this contract.
                required:
                  - customerRef
                  - expirationDate
                  - signers
                  - templateRef
                description: Contract to create.
            required:
              - contract
      required: true
    updateContract:
      content:
        application/json:
          schema:
            type: object
            properties:
              contract:
                type: object
                properties:
                  actionable:
                    description: Whether the contract triggers a billing action when signed.
                    type: boolean
                  expirationDate:
                    type: string
                    format: date-time
                    description: Date after which the contract can no longer be signed.
                  items:
                    description: Line items included in this contract.
                    type: array
                    items:
                      type: object
                      properties:
                        couponRef:
                          description: Applied coupon ID.
                          type: string
                          format: uuid
                        oneOff:
                          description: Whether this is a one-off item.
                          type: boolean
                        optionRef:
                          description: Shop product option ID.
                          type: string
                          format: uuid
                        planRef:
                          description: Membership plan ID.
                          type: string
                          format: uuid
                        price:
                          description: Item price override.
                          type: number
                        productRef:
                          description: Shop product ID.
                          type: string
                          format: uuid
                        quantity:
                          type: number
                          minimum: 1
                          description: Number of units.
                        resourceRef:
                          description: Resource ID.
                          type: string
                          format: uuid
                        tierRef:
                          description: Plan tier ID.
                          type: string
                          format: uuid
                        title:
                          type: string
                          description: Display name of the item.
                        type:
                          type: string
                          enum:
                            - plan
                            - resource
                            - oneOff
                          description: Item type.
                      required:
                        - quantity
                        - title
                        - type
                      additionalProperties: false
                  templateRef:
                    type: string
                    format: uuid
                    description: ID of the template to use for this contract.
                  endDate:
                    description: Contract end date.
                    nullable: true
                    type: string
                    format: date-time
                  signers:
                    description: Updated signers list.
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          description: Signer email address.
                          type: string
                        id:
                          description: Signer ID (to identify existing signers).
                          type: string
                          format: uuid
                        name:
                          description: Signer first name.
                          type: string
                        phoneNumber:
                          description: Phone number.
                          type: string
                        surname:
                          description: Signer last name.
                          type: string
                        type:
                          description: Whether this is a location or customer signer.
                          type: string
                          enum:
                            - location
                            - customer
                  startDate:
                    description: Contract start date.
                    nullable: true
                    type: string
                    format: date-time
                description: Contract fields to update.
            required:
              - contract
      required: true
    issueContract:
      content:
        application/json:
          schema:
            type: object
            properties:
              signatureMethod:
                type: string
                enum:
                  - eSignature
                  - manual
                description: How the contract will be signed.
            required:
              - signatureMethod
      required: true
    terminateContract:
      content:
        application/json:
          schema:
            type: object
            properties:
              reason:
                type: string
                enum:
                  - forceMajeure
                  - mutualAgreement
                  - other
                  - policyViolation
                  - productUnsatisfactory
                description: Reason for termination.
            required:
              - reason
      required: true
    createTemplate:
      content:
        application/json:
          schema:
            type: object
            properties:
              template:
                type: object
                properties:
                  file:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the uploaded .docx template file, as returned by the media upload endpoint.
                    required:
                      - key
                    description: Template file reference.
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this template belongs to.
                  title:
                    type: string
                    description: Template title.
                required:
                  - file
                  - locationRef
                  - title
                description: Template to create.
            required:
              - template
      required: true
    createTemplateMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - application/vnd.openxmlformats-officedocument.wordprocessingml.document
                    description: MIME type of the file to upload, application/vnd.openxmlformats-officedocument.wordprocessingml.document.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 52428800
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    updateTemplate:
      content:
        application/json:
          schema:
            type: object
            properties:
              template:
                type: object
                properties:
                  file:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Storage key of the uploaded .docx template file, as returned by the media upload endpoint.
                    required:
                      - key
                    description: Template file reference.
                  title:
                    type: string
                    description: Template title.
                description: Template fields to update.
            required:
              - template
      required: true
    createCoupon:
      content:
        application/json:
          schema:
            type: object
            properties:
              coupon:
                type: object
                properties:
                  amountOff:
                    description: Fixed discount amount.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  duration:
                    description: How long the coupon discount applies.
                    type: string
                    enum:
                      - forever
                      - once
                      - repeating
                  durationInMonths:
                    description: Duration in months when duration is repeating.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  enabledForCredits:
                    description: Whether the coupon applies to credit purchases.
                    type: boolean
                  limitedItems:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether item-level limits are enabled.
                      values:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the limited item.
                            type:
                              type: string
                              enum:
                                - roomBookings
                                - eventSpaceBookings
                                - conferenceRoomBookings
                                - meetingRoomBookings
                                - phoneBoothBookings
                                - stationBookings
                                - studioBookings
                                - hotDeskBookings
                                - dedicatedDeskBookings
                                - officeBookings
                                - parkingBookings
                                - equipmentBookings
                                - eventTickets
                                - shopProducts
                                - packages
                                - subscriptionItems
                              description: Product type of the limited item.
                          required:
                            - id
                            - type
                          description: Reference to a product, resource, or package the coupon is limited to.
                        description: Items the coupon applies to when limits are enabled.
                    required:
                      - enabled
                      - values
                    additionalProperties: false
                    description: Item-level redemption limits.
                  limitedRedemption:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether redemption limits are enabled.
                      value:
                        type: number
                        description: Maximum redemption count.
                    required:
                      - enabled
                      - value
                    additionalProperties: false
                    description: Redemption limits for the coupon.
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this coupon belongs to.
                  percentOff:
                    description: Percentage discount amount.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 100
                  productTypes:
                    type: array
                    items:
                      type: string
                      enum:
                        - roomBookings
                        - eventSpaceBookings
                        - conferenceRoomBookings
                        - meetingRoomBookings
                        - phoneBoothBookings
                        - stationBookings
                        - studioBookings
                        - hotDeskBookings
                        - dedicatedDeskBookings
                        - officeBookings
                        - parkingBookings
                        - equipmentBookings
                        - eventTickets
                        - shopProducts
                        - packages
                        - subscriptionItems
                    description: Product types the coupon applies to.
                required:
                  - limitedItems
                  - limitedRedemption
                  - locationRef
                  - productTypes
                description: Coupon to create.
            required:
              - coupon
      required: true
    updateCoupon:
      content:
        application/json:
          schema:
            type: object
            properties:
              coupon:
                type: object
                properties:
                  limitedItems:
                    type: object
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the limited item.
                            type:
                              type: string
                              enum:
                                - roomBookings
                                - eventSpaceBookings
                                - conferenceRoomBookings
                                - meetingRoomBookings
                                - phoneBoothBookings
                                - stationBookings
                                - studioBookings
                                - hotDeskBookings
                                - dedicatedDeskBookings
                                - officeBookings
                                - parkingBookings
                                - equipmentBookings
                                - eventTickets
                                - shopProducts
                                - packages
                                - subscriptionItems
                              description: Product type of the limited item.
                          required:
                            - id
                            - type
                          description: Reference to a product, resource, or package the coupon is limited to.
                        description: Replacement list of limited items for the coupon.
                    required:
                      - values
                    description: Limited items to set on the coupon.
                required:
                  - limitedItems
                description: Coupon fields to update.
            required:
              - coupon
      required: true
    createPromocode:
      content:
        application/json:
          schema:
            type: object
            properties:
              promocode:
                type: object
                properties:
                  code:
                    type: string
                    minLength: 1
                    description: Promocode string.
                  couponRef:
                    type: string
                    format: uuid
                    description: ID of the coupon this promocode applies to.
                  expiration:
                    type: object
                    properties:
                      date:
                        description: Expiration date. Required when expiration is enabled.
                        type: string
                      enabled:
                        type: boolean
                        description: Whether the promocode has an expiration date.
                    required:
                      - enabled
                    description: Promocode expiration settings.
                  limitByFirstPurchase:
                    type: boolean
                    description: Whether the promocode is limited to first-time purchases.
                  limitedRedemption:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether redemption limits are enabled.
                      value:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Maximum redemption count.
                    required:
                      - enabled
                      - value
                    description: Redemption limits for the promocode.
                required:
                  - code
                  - couponRef
                  - expiration
                  - limitByFirstPurchase
                  - limitedRedemption
                description: Promocode to create.
            required:
              - promocode
      required: true
    createEvent:
      content:
        application/json:
          schema:
            type: object
            properties:
              event:
                type: object
                properties:
                  applicationType:
                    type: string
                    enum:
                      - purchase
                      - none
                    description: 'Event application type. purchase: paid signup (requires price). none: free/RSVP-style.'
                  confirmationEmail:
                    description: Confirmation email settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether a confirmation email is sent after registration.
                      template:
                        description: HTML template for the confirmation email.
                        type: string
                    required:
                      - enabled
                  customTax:
                    description: Custom tax settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled.
                      rate:
                        type: number
                        minimum: 0
                        description: Custom tax rate as a decimal.
                    required:
                      - enabled
                      - rate
                  description:
                    description: Full description of the event.
                    type: string
                  endDate:
                    description: ISO timestamp of when the event ends.
                    type: string
                    format: date-time
                  limitedAttendees:
                    description: Limited attendees settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether attendee capacity is limited.
                      limit:
                        description: Maximum number of attendees when limited.
                        type: number
                        minimum: 0
                    required:
                      - enabled
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where the event is hosted.
                  media:
                    description: Media files attached to the event.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          description: Storage key of the media file, as returned by the media upload endpoint.
                          type: string
                        url:
                          description: Public URL of the media file.
                          type: string
                  price:
                    description: Pricing options for the event. Can enable credits, money, or both.
                    type: object
                    properties:
                      credits:
                        description: Credits pricing.
                        type: object
                        properties:
                          amount:
                            type: number
                            minimum: 0
                            description: Ticket price in credits.
                          enabled:
                            type: boolean
                            description: Whether credits payment is enabled.
                        required:
                          - amount
                          - enabled
                      money:
                        description: Money pricing.
                        type: object
                        properties:
                          amount:
                            type: number
                            minimum: 0
                            description: Ticket price in money.
                          enabled:
                            type: boolean
                            description: Whether money payment is enabled.
                        required:
                          - amount
                          - enabled
                  refundThreshold:
                    description: How far in advance a refund can be requested.
                    type: string
                    enum:
                      - noRefund
                      - zeroMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - oneHour
                      - twoHours
                      - fourHours
                      - sixHours
                      - twelveHours
                      - oneDay
                      - twoDays
                      - oneWeek
                      - twoWeeks
                      - fourWeeks
                  showAttendees:
                    default: true
                    description: Whether the attendees list is publicly visible.
                    type: boolean
                  startDate:
                    description: ISO timestamp of when the event starts.
                    type: string
                    format: date-time
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the event.
                  venue:
                    description: Venue name or address within the location.
                    type: string
                  visibility:
                    description: 'Who can see this event. public: all. admins: admins only. networkMembers: network members. members: location members.'
                    type: string
                    enum:
                      - public
                      - admins
                      - networkMembers
                      - members
                required:
                  - applicationType
                  - endDate
                  - locationRef
                  - startDate
                  - title
                description: Event to create.
            required:
              - event
      required: true
    updateEvent:
      content:
        application/json:
          schema:
            type: object
            properties:
              event:
                type: object
                properties:
                  applicationType:
                    type: string
                    enum:
                      - purchase
                      - none
                    description: 'Event application type. purchase: paid signup (requires price). none: free/RSVP-style.'
                  confirmationEmail:
                    description: Confirmation email settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether a confirmation email is sent after registration.
                      template:
                        description: HTML template for the confirmation email.
                        type: string
                    required:
                      - enabled
                  customTax:
                    description: Custom tax settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled.
                      rate:
                        type: number
                        minimum: 0
                        description: Custom tax rate as a decimal.
                    required:
                      - enabled
                      - rate
                  description:
                    description: Full description of the event.
                    type: string
                  endDate:
                    description: ISO timestamp of when the event ends.
                    type: string
                    format: date-time
                  limitedAttendees:
                    description: Limited attendees settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether attendee capacity is limited.
                      limit:
                        description: Maximum number of attendees when limited.
                        type: number
                        minimum: 0
                    required:
                      - enabled
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where the event is hosted.
                  media:
                    description: Media files attached to the event.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          description: Storage key of the media file, as returned by the media upload endpoint.
                          type: string
                        url:
                          description: Public URL of the media file.
                          type: string
                  price:
                    description: Pricing options for the event. Can enable credits, money, or both.
                    type: object
                    properties:
                      credits:
                        description: Credits pricing.
                        type: object
                        properties:
                          amount:
                            type: number
                            minimum: 0
                            description: Ticket price in credits.
                          enabled:
                            type: boolean
                            description: Whether credits payment is enabled.
                        required:
                          - amount
                          - enabled
                      money:
                        description: Money pricing.
                        type: object
                        properties:
                          amount:
                            type: number
                            minimum: 0
                            description: Ticket price in money.
                          enabled:
                            type: boolean
                            description: Whether money payment is enabled.
                        required:
                          - amount
                          - enabled
                  refundThreshold:
                    description: How far in advance a refund can be requested.
                    type: string
                    enum:
                      - noRefund
                      - zeroMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - oneHour
                      - twoHours
                      - fourHours
                      - sixHours
                      - twelveHours
                      - oneDay
                      - twoDays
                      - oneWeek
                      - twoWeeks
                      - fourWeeks
                  showAttendees:
                    description: Whether the attendees list is publicly visible.
                    type: boolean
                  startDate:
                    description: ISO timestamp of when the event starts.
                    type: string
                    format: date-time
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the event.
                  venue:
                    description: Venue name or address within the location.
                    type: string
                  visibility:
                    description: 'Who can see this event. public: all. admins: admins only. networkMembers: network members. members: location members.'
                    type: string
                    enum:
                      - public
                      - admins
                      - networkMembers
                      - members
                required:
                  - applicationType
                  - endDate
                  - locationRef
                  - startDate
                  - title
                description: Event to update.
            required:
              - event
      required: true
    createEventMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 5242880
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createFeedPost:
      content:
        application/json:
          schema:
            type: object
            properties:
              post:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where the post is created.
                  media:
                    description: Media files to attach to the post.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  og:
                    description: Open Graph metadata for link previews.
                    type: object
                    properties:
                      description:
                        description: Open Graph description.
                        nullable: true
                        type: string
                      image:
                        description: Open Graph image URL.
                        nullable: true
                        type: string
                      title:
                        description: Open Graph title.
                        nullable: true
                        type: string
                      type:
                        description: Open Graph type.
                        nullable: true
                        type: string
                      url:
                        type: string
                        format: uri
                        description: Open Graph URL.
                      videoUrl:
                        description: Open Graph video URL.
                        nullable: true
                        type: string
                    required:
                      - url
                  text:
                    description: Post text content.
                    type: string
                required:
                  - locationRef
                description: Feed post to create.
            required:
              - post
      required: true
    updateFeedPost:
      content:
        application/json:
          schema:
            type: object
            properties:
              post:
                type: object
                properties:
                  media:
                    description: Media files to attach to the post.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  og:
                    description: Open Graph metadata for link previews.
                    type: object
                    properties:
                      description:
                        description: Open Graph description.
                        nullable: true
                        type: string
                      image:
                        description: Open Graph image URL.
                        nullable: true
                        type: string
                      title:
                        description: Open Graph title.
                        nullable: true
                        type: string
                      type:
                        description: Open Graph type.
                        nullable: true
                        type: string
                      url:
                        type: string
                        format: uri
                        description: Open Graph URL.
                      videoUrl:
                        description: Open Graph video URL.
                        nullable: true
                        type: string
                    required:
                      - url
                  text:
                    description: Post text content.
                    type: string
                description: Feed post to update.
            required:
              - post
      required: true
    createFeedPostComment:
      content:
        application/json:
          schema:
            type: object
            properties:
              comment:
                type: object
                properties:
                  parentCommentRef:
                    description: ID of the parent comment when this is a reply.
                    type: string
                    format: uuid
                  postRef:
                    type: string
                    format: uuid
                    description: ID of the post this comment belongs to.
                  text:
                    type: string
                    minLength: 1
                    description: Comment text content.
                  type:
                    type: string
                    enum:
                      - comment
                    description: Feed item type.
                required:
                  - postRef
                  - text
                  - type
                description: Feed post comment to create.
            required:
              - comment
      required: true
    createFeedPostMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  height:
                    description: Height of a video in pixels, required for a video, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                      - video/mp4
                      - video/quicktime
                      - video/webm
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 52428800
                    description: Size of the file in bytes, at most 5242880 for an image and 52428800 for a video. The upload is rejected when the body length differs.
                  width:
                    description: Width of a video in pixels, required for a video, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createGuide:
      content:
        application/json:
          schema:
            type: object
            properties:
              guide:
                type: object
                properties:
                  description:
                    description: Markdown content of the guide. To show an image or a video, upload it with the media upload endpoint and add its url as a Markdown image, ![alt text](url).
                    type: string
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the organization (location) this guide belongs to.
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the guide.
                  visibility:
                    type: string
                    enum:
                      - public
                      - admins
                      - members
                      - networkMembers
                    description: Who can see this guide.
                  attachments:
                    description: Keys of attachment uploads whose files have been uploaded. A key the guide cannot attach, such as an unknown, expired or already attached one, fails the request.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          minLength: 1
                      required:
                        - key
                required:
                  - locationRef
                  - title
                  - visibility
                description: Guide to create.
            required:
              - guide
      required: true
    patchGuide:
      content:
        application/json:
          schema:
            type: object
            properties:
              guide:
                type: object
                properties:
                  description:
                    description: Markdown content of the guide. To show an image or a video, upload it with the media upload endpoint and add its url as a Markdown image, ![alt text](url).
                    type: string
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the guide.
                  visibility:
                    type: string
                    enum:
                      - public
                      - admins
                      - members
                      - networkMembers
                    description: Who can see this guide.
                  attachments:
                    description: Keys of attachment uploads whose files have been uploaded. A key the guide cannot attach, such as an unknown, expired or already attached one, fails the request.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          minLength: 1
                      required:
                        - key
                description: Guide fields to update.
            required:
              - guide
      required: true
    createGuideAttachment:
      content:
        application/json:
          schema:
            type: object
            properties:
              attachment:
                type: object
                properties:
                  mimeType:
                    type: string
                    description: MIME type of the file to upload.
                  name:
                    description: File name shown with the guide and used when the file is downloaded. Defaults to the storage key.
                    type: string
                    minLength: 1
                    maxLength: 255
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 52428800
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - attachment
      required: true
    createGuideMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  height:
                    description: Height of a video in pixels, required for a video, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                      - video/mp4
                      - video/quicktime
                      - video/webm
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 52428800
                    description: Size of the file in bytes, at most 5242880 for an image and 52428800 for a video. The upload is rejected when the body length differs.
                  width:
                    description: Width of a video in pixels, required for a video, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createPackage:
      content:
        application/json:
          schema:
            type: object
            properties:
              package:
                type: object
                properties:
                  grants:
                    minItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 1000000000
                          description: Grant amount in major units for credits, or whole units for day passes.
                        duration:
                          description: Number of days after purchase until the granted balance expires, from 1 to 3650. Omit for a non-expiring grant.
                          type: integer
                          minimum: 1
                          maximum: 3650
                        type:
                          type: string
                          enum:
                            - credits
                            - dayPasses
                          description: Type of balance this grant provides.
                      required:
                        - amount
                        - type
                    description: Grants included in the package.
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where to create this package.
                  price:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                    description: Package price in major units.
                required:
                  - grants
                  - locationRef
                  - price
                description: Package to create.
            required:
              - package
      required: true
    patchPackage:
      content:
        application/json:
          schema:
            type: object
            properties:
              package:
                type: object
                properties:
                  grants:
                    description: Grants included in the package.
                    minItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 1000000000
                          description: Grant amount in major units for credits, or whole units for day passes.
                        duration:
                          description: Number of days after purchase until the granted balance expires, from 1 to 3650. Omit for a non-expiring grant.
                          type: integer
                          minimum: 1
                          maximum: 3650
                        type:
                          type: string
                          enum:
                            - credits
                            - dayPasses
                          description: Type of balance this grant provides.
                      required:
                        - amount
                        - type
                  price:
                    description: Package price in major units.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                description: Package fields to update.
            required:
              - package
      required: true
    createPlan:
      content:
        application/json:
          schema:
            type: object
            properties:
              plan:
                type: object
                properties:
                  access:
                    description: Third-party access integrations.
                    type: object
                    properties:
                      avigilonAltaGroupRef:
                        description: Avigilon Alta access group reference.
                        type: number
                      brivoGroupRef:
                        description: Brivo access group reference.
                        type: number
                      kisiGroupRef:
                        description: Kisi access group reference.
                        type: number
                      saltoksAccessGroupRef:
                        description: Salto KS access group reference.
                        type: string
                        format: uuid
                      tapkeyGroupRef:
                        description: Tapkey access group reference.
                        type: string
                        format: uuid
                      unifiAccessGroupRef:
                        description: UniFi Access policy reference.
                        type: string
                  addons:
                    default: []
                    description: Addons included in the plan.
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                      required:
                        - id
                  commitmentCycles:
                    default: 0
                    description: Number of billing cycles the member is committed to.
                    type: integer
                    minimum: 0
                    maximum: 1000
                  credits:
                    default: 0
                    description: Credits included in the plan.
                    type: number
                    minimum: 0
                    maximum: 1000000000
                  customTax:
                    default:
                      enabled: false
                      rate: 0
                    description: Custom tax settings.
                    type: object
                    properties:
                      enabled:
                        default: false
                        description: Whether custom tax is enabled.
                        type: boolean
                      rate:
                        default: 0
                        description: Custom tax rate percentage.
                        type: number
                        minimum: 0
                        maximum: 100
                    additionalProperties: false
                  dayPasses:
                    default: 0
                    description: Number of day passes included in the plan.
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  description:
                    default: ''
                    description: Description of the plan.
                    type: string
                  discounts:
                    default:
                      creditPackages: 0
                      desks: 0
                      equipment: 0
                      events: 0
                      rooms: 0
                      shop: 0
                    description: Percentage discounts by product type.
                    deprecated: true
                    type: object
                    properties:
                      creditPackages:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for credit packages.
                      desks:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for desk bookings.
                      equipment:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for equipment bookings.
                      events:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for event tickets.
                      rooms:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for room bookings.
                      shop:
                        default: 0
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for shop products.
                    additionalProperties: false
                  exclusiveAccess:
                    default:
                      resourceRefs: []
                    description: Resources and benefits exclusively available to members on this plan.
                    type: object
                    properties:
                      benefitRefs:
                        description: Benefit IDs with exclusive access for this plan.
                        type: array
                        items:
                          type: string
                          format: uuid
                          description: ID of a benefit with exclusive access.
                      resourceRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                          description: ID of a resource with exclusive access.
                        description: Resource IDs with exclusive access for this plan.
                    required:
                      - resourceRefs
                  grantedDiscounts:
                    description: Coupons granted to members on this plan.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the coupon.
                            percentOff:
                              description: Percentage discount.
                              type: number
                            productTypes:
                              description: Product types the coupon applies to.
                              type: array
                              items:
                                type: string
                                enum:
                                  - roomBookings
                                  - eventSpaceBookings
                                  - conferenceRoomBookings
                                  - meetingRoomBookings
                                  - phoneBoothBookings
                                  - stationBookings
                                  - studioBookings
                                  - hotDeskBookings
                                  - dedicatedDeskBookings
                                  - officeBookings
                                  - parkingBookings
                                  - equipmentBookings
                                  - eventTickets
                                  - shopProducts
                                  - packages
                                  - subscriptionItems
                          required:
                            - id
                          description: Coupon to grant.
                      required:
                        - coupon
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this plan belongs to.
                  period:
                    type: string
                    enum:
                      - day
                      - week
                      - month
                      - threeMonths
                      - sixMonths
                      - year
                    description: Billing period of the plan.
                  price:
                    type: number
                    minimum: 0
                    description: Price of the plan.
                  printing:
                    description: Printing integration settings.
                    type: object
                    properties:
                      ezeepBlueGroupRef:
                        description: Ezeep Blue printing group reference.
                        type: string
                        format: uuid
                  selfSignup:
                    default:
                      enabled: false
                      type: immediate
                    description: Self sign-up settings.
                    type: object
                    properties:
                      enabled:
                        default: false
                        description: Whether members can self-sign up.
                        type: boolean
                      type:
                        default: immediate
                        description: Self sign-up flow type.
                        type: string
                        enum:
                          - immediate
                          - request
                    additionalProperties: false
                  setupFee:
                    default: 0
                    description: One-time setup fee.
                    type: number
                    minimum: 0
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the plan.
                required:
                  - locationRef
                  - period
                  - price
                  - title
                description: Plan to create.
            required:
              - plan
      required: true
    deletePlans:
      content:
        application/json:
          schema:
            type: object
            properties:
              planIds:
                minItems: 1
                maxItems: 100
                type: array
                items:
                  type: string
                  format: uuid
                description: Array of IDs of plans to delete. Up to 100 per request.
            required:
              - planIds
      required: true
    patchPlans:
      content:
        application/json:
          schema:
            type: object
            properties:
              plans:
                type: object
                properties:
                  ids:
                    minItems: 1
                    maxItems: 100
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: IDs of the plans to update. Up to 100 per request.
                  selfSignup:
                    oneOf:
                      - type: object
                        properties:
                          enabled:
                            type: boolean
                            enum:
                              - true
                            description: Turn self sign-up on.
                          type:
                            type: string
                            enum:
                              - immediate
                              - request
                            description: 'Self sign-up flow type. immediate: customers subscribe at once. request: customers apply and an admin approves.'
                        required:
                          - enabled
                          - type
                      - type: object
                        properties:
                          enabled:
                            type: boolean
                            enum:
                              - false
                            description: Turn self sign-up off. Each plan keeps its sign-up type.
                        required:
                          - enabled
                    description: Self sign-up settings to set on every plan.
                required:
                  - ids
                  - selfSignup
                description: Plans to update and the fields to set on each of them.
            required:
              - plans
      required: true
    updatePlan:
      content:
        application/json:
          schema:
            type: object
            properties:
              plan:
                type: object
                properties:
                  access:
                    description: Third-party access integrations.
                    type: object
                    properties:
                      avigilonAltaGroupRef:
                        description: Avigilon Alta access group reference.
                        nullable: true
                        type: number
                      brivoGroupRef:
                        description: Brivo access group reference.
                        nullable: true
                        type: number
                      kisiGroupRef:
                        description: Kisi access group reference.
                        nullable: true
                        type: number
                      saltoksAccessGroupRef:
                        description: Salto KS access group reference.
                        nullable: true
                        type: string
                        format: uuid
                      tapkeyGroupRef:
                        description: Tapkey access group reference.
                        nullable: true
                        type: string
                        format: uuid
                      unifiAccessGroupRef:
                        description: UniFi Access policy reference.
                        nullable: true
                        type: string
                  addons:
                    description: Addons included in the plan.
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                      required:
                        - id
                  commitmentCycles:
                    default: 0
                    description: Number of billing cycles the member is committed to.
                    type: integer
                    minimum: 0
                    maximum: 1000
                  credits:
                    default: 0
                    description: Credits included in the plan.
                    type: number
                    minimum: 0
                    maximum: 1000000000
                  customTax:
                    description: Custom tax settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled.
                      rate:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Custom tax rate percentage.
                    required:
                      - enabled
                      - rate
                    additionalProperties: false
                  dayPasses:
                    default: 0
                    description: Number of day passes included in the plan.
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  description:
                    default: ''
                    description: Description of the plan.
                    type: string
                  discounts:
                    description: Percentage discounts by product type.
                    deprecated: true
                    type: object
                    properties:
                      creditPackages:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for credit packages.
                      desks:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for desk bookings.
                      equipment:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for equipment bookings.
                      events:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for event tickets.
                      rooms:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for room bookings.
                      shop:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Discount percentage for shop products.
                    required:
                      - creditPackages
                      - desks
                      - events
                      - rooms
                      - shop
                    additionalProperties: false
                  exclusiveAccess:
                    default:
                      resourceRefs: []
                    description: Resources and benefits exclusively available to members on this plan.
                    type: object
                    properties:
                      benefitRefs:
                        description: Benefit IDs with exclusive access for this plan.
                        type: array
                        items:
                          type: string
                          format: uuid
                          description: ID of a benefit with exclusive access.
                      resourceRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                          description: ID of a resource with exclusive access.
                        description: Resource IDs with exclusive access for this plan.
                    required:
                      - resourceRefs
                  grantedDiscounts:
                    description: Coupons granted to members on this plan.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the coupon.
                            percentOff:
                              description: Percentage discount.
                              type: number
                            productTypes:
                              description: Product types the coupon applies to.
                              type: array
                              items:
                                type: string
                                enum:
                                  - roomBookings
                                  - eventSpaceBookings
                                  - conferenceRoomBookings
                                  - meetingRoomBookings
                                  - phoneBoothBookings
                                  - stationBookings
                                  - studioBookings
                                  - hotDeskBookings
                                  - dedicatedDeskBookings
                                  - officeBookings
                                  - parkingBookings
                                  - equipmentBookings
                                  - eventTickets
                                  - shopProducts
                                  - packages
                                  - subscriptionItems
                          required:
                            - id
                          description: Coupon to grant.
                      required:
                        - coupon
                  price:
                    type: number
                    minimum: 0
                    description: Price of the plan.
                  printing:
                    description: Printing integration settings.
                    type: object
                    properties:
                      ezeepBlueGroupRef:
                        description: Ezeep Blue printing group reference.
                        nullable: true
                        type: string
                        format: uuid
                  selfSignup:
                    description: Self sign-up settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether members can self-sign up.
                      type:
                        type: string
                        enum:
                          - immediate
                          - request
                        description: Self sign-up flow type.
                    required:
                      - enabled
                      - type
                    additionalProperties: false
                  setupFee:
                    default: 0
                    description: One-time setup fee.
                    type: number
                    minimum: 0
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the plan.
                description: Plan fields to update.
            required:
              - plan
      required: true
    createResource:
      content:
        application/json:
          schema:
            type: object
            properties:
              resource:
                type: object
                description: Resource fields to create.
                properties:
                  autoRelease:
                    description: Auto-release settings for no-show bookings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether auto-release is enabled.
                      interval:
                        type: string
                        enum:
                          - fiveMinutes
                          - tenMinutes
                          - fifteenMinutes
                        description: Minutes after start or creation before the slot is released.
                    required:
                      - enabled
                      - interval
                  avigilonAltaGroupRef:
                    description: Avigilon Alta access group reference.
                    nullable: true
                    type: number
                  bookingPermission:
                    type: string
                    enum:
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                      - public
                    description: Who can create bookings on this resource.
                  bookingStepMinutes:
                    description: Booking step size in minutes.
                    type: number
                  bookingUnit:
                    description: Whether bookings are measured in hours or in whole days. With day, bookings always cover the whole schedule of the day and the duration bounds are set to 24 hours. Defaults to hour.
                    type: string
                    enum:
                      - hour
                      - day
                  bookingWindow:
                    description: How soon and how far ahead users can book this resource. While enabled is false, the resource follows the booking window its location sets for the resource type and keeps its own values for when it is enabled again. Administrators are not limited by either.
                    type: object
                    properties:
                      bookAhead:
                        description: How far ahead users can book the resource, the same values the location takes. Required while enabled is true.
                        type: string
                        enum:
                          - oneDay
                          - twoDays
                          - oneWeek
                          - twoWeeks
                          - oneMonth
                          - threeMonths
                          - sixMonths
                          - oneYear
                          - unlimited
                      enabled:
                        type: boolean
                        description: Whether the resource uses this booking window instead of the one its location sets for the resource type.
                      minNotice:
                        description: How many minutes before it starts a booking of the resource has to be made, up to 30 days. 0 accepts bookings up to the start time. Required while enabled is true.
                        type: integer
                        minimum: 0
                        maximum: 43200
                    required:
                      - enabled
                  brivoGroupRef:
                    description: Brivo access group reference.
                    nullable: true
                    type: number
                  bufferTime:
                    type: string
                    enum:
                      - zeroMinutes
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - sixtyMinutes
                    description: Buffer time blocked before each booking.
                  capacity:
                    description: Maximum capacity per booking.
                    nullable: true
                    type: number
                  checkIn:
                    description: Check-in settings.
                    type: object
                    properties:
                      interval:
                        type: string
                        enum:
                          - zeroMinutes
                          - fiveMinutes
                          - tenMinutes
                          - fifteenMinutes
                        description: How early before start the guest must check in.
                    required:
                      - interval
                  confirmationEmail:
                    description: Confirmation email settings.
                    type: object
                    properties:
                      bookingCreatedByAdmin:
                        type: boolean
                        description: Send confirmation when an admin creates a booking.
                      bookingCreatedByMember:
                        type: boolean
                        description: Send confirmation when a member creates a booking.
                      bookingCreatedByNetworkMember:
                        type: boolean
                        description: Send confirmation when a network member creates a booking.
                      bookingCreatedByPublic:
                        type: boolean
                        description: Send confirmation when a public user creates a booking.
                      template:
                        type: string
                        description: Email template id for confirmation emails.
                    required:
                      - bookingCreatedByAdmin
                      - bookingCreatedByMember
                      - bookingCreatedByNetworkMember
                      - bookingCreatedByPublic
                      - template
                  credits:
                    description: Credit pricing settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether customers can pay with location credits.
                      price:
                        description: Optional display price; tier data is authoritative.
                        type: number
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unitAmount:
                              type: number
                              description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                          required:
                            - flatAmount
                            - from
                            - unitAmount
                        description: Stepped credit pricing tiers.
                    required:
                      - enabled
                      - tiers
                  dayPassesEnabled:
                    description: Whether members can book this resource with day passes. Only hotDesk resources support day passes; enabling it for any other type is rejected.
                    type: boolean
                  description:
                    description: Description of the resource.
                    type: string
                  duration:
                    description: Booking duration bounds.
                    type: object
                    properties:
                      max:
                        type: number
                        description: Maximum booking duration in minutes.
                      min:
                        type: number
                        description: Minimum booking duration in minutes.
                      public:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                            description: Whether public bookers have separate duration limits.
                          max:
                            type: number
                            description: Maximum booking duration in minutes for public bookers.
                          min:
                            type: number
                            description: Minimum booking duration in minutes for public bookers.
                        required:
                          - enabled
                          - max
                          - min
                        description: Duration limits for public bookers.
                    required:
                      - max
                      - min
                      - public
                  dynamicPricing:
                    description: Dynamic pricing settings.
                    type: object
                    properties:
                      deltaAbove:
                        type: number
                        description: Maximum price increase percentage when demand is high.
                      deltaBelow:
                        type: number
                        description: Maximum price decrease percentage when demand is low.
                      enabled:
                        type: boolean
                        description: Whether dynamic pricing is enabled.
                    required:
                      - deltaAbove
                      - deltaBelow
                      - enabled
                  googleCalendar:
                    description: Google Calendar integration settings. Pass null to disconnect the calendar from the resource.
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        description: Google Calendar id.
                      twoWaySyncEnabled:
                        type: boolean
                        description: Whether two-way sync is enabled.
                    required:
                      - id
                      - twoWaySyncEnabled
                  id:
                    description: Optional client-provided resource id.
                    type: string
                    format: uuid
                  kisiGroupRef:
                    description: Kisi access group reference.
                    nullable: true
                    type: number
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location.
                  media:
                    description: Images of the resource in display order, the first one being its cover. On update the list replaces the current images, and an empty list removes them all.
                    maxItems: 10
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the uploaded image, as returned by the media upload endpoint.
                      required:
                        - key
                  money:
                    description: Money pricing settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether customers can pay with money.
                      price:
                        description: Optional display price; tier data is authoritative.
                        type: number
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unitAmount:
                              type: number
                              description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                          required:
                            - flatAmount
                            - from
                            - unitAmount
                        description: Stepped money pricing tiers.
                    required:
                      - enabled
                      - tiers
                  outlookCalendar:
                    description: Outlook Calendar integration settings. Pass null to disconnect the calendar from the resource.
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        description: Outlook calendar id.
                      twoWaySyncEnabled:
                        type: boolean
                        description: Whether two-way sync is enabled.
                    required:
                      - id
                      - twoWaySyncEnabled
                  parentRef:
                    description: Parent resource id when creating a child resource.
                    nullable: true
                    type: string
                    format: uuid
                  plans:
                    description: Membership plan tiers sold for this resource.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether membership plans can be sold for this resource.
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            addons:
                              default: []
                              description: Addons included in the tier.
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Addon id.
                                required:
                                  - id
                            commitmentCycles:
                              type: number
                              description: Number of billing cycles the member commits to for this tier.
                            credits:
                              type: number
                              description: Credits included per period in this membership tier.
                            dayPasses:
                              description: Optional number of day passes bundled with the tier.
                              type: number
                            description:
                              description: Marketing or internal description of the tier.
                              type: string
                            discounts:
                              deprecated: true
                              description: Synthetic discount percentages by product type.
                              type: object
                              properties:
                                creditPackages:
                                  description: Discount percentage for credit packages.
                                  type: number
                                desks:
                                  description: Discount percentage for desk bookings.
                                  type: number
                                equipment:
                                  description: Discount percentage for equipment bookings.
                                  type: number
                                events:
                                  description: Discount percentage for events.
                                  type: number
                                rooms:
                                  description: Discount percentage for room bookings.
                                  type: number
                                shop:
                                  description: Discount percentage for shop products.
                                  type: number
                            entire:
                              type: boolean
                              description: If true, tier grants access to the whole resource.
                            ezeepBlueGroupRef:
                              description: Ezeep Blue printing group reference.
                              type: string
                            grantedDiscounts:
                              description: Coupons to grant to members on this tier.
                              type: array
                              items:
                                type: object
                                properties:
                                  coupon:
                                    type: object
                                    properties:
                                      amountOff:
                                        description: Fixed discount amount.
                                        type: number
                                      currencyCode:
                                        description: Currency code for amountOff.
                                        type: string
                                      id:
                                        type: string
                                        format: uuid
                                        description: Unique identifier of the coupon.
                                      percentOff:
                                        description: Percentage discount.
                                        type: number
                                      productTypes:
                                        description: Product types the coupon applies to.
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - roomBookings
                                            - eventSpaceBookings
                                            - conferenceRoomBookings
                                            - meetingRoomBookings
                                            - phoneBoothBookings
                                            - stationBookings
                                            - studioBookings
                                            - hotDeskBookings
                                            - dedicatedDeskBookings
                                            - officeBookings
                                            - parkingBookings
                                            - equipmentBookings
                                            - eventTickets
                                            - shopProducts
                                            - packages
                                            - subscriptionItems
                                    required:
                                      - id
                                    description: Coupon to grant.
                                required:
                                  - coupon
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the tier.
                            period:
                              type: string
                              enum:
                                - day
                                - week
                                - month
                                - threeMonths
                                - sixMonths
                                - year
                              description: Billing period label for the tier.
                            price:
                              type: number
                              description: Recurring price for this tier in the location currency.
                            selfSignup:
                              description: Self sign-up settings of the tier.
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Whether members may self-enroll into the tier.
                                type:
                                  type: string
                                  description: Self sign-up flow type.
                              required:
                                - enabled
                                - type
                            selfSignupType:
                              deprecated: true
                              description: Deprecated. Use selfSignup.type instead. How members may self-enroll, if applicable.
                              type: string
                            setupFee:
                              description: One-time fee charged when subscribing to this tier.
                              type: number
                            title:
                              type: string
                              description: Display name of the plan tier.
                          required:
                            - commitmentCycles
                            - credits
                            - entire
                            - id
                            - period
                            - price
                            - title
                        description: Sellable membership options for this resource.
                    required:
                      - enabled
                      - tiers
                  preparationMinutes:
                    deprecated: true
                    description: Deprecated. Use bufferTime instead.
                    type: string
                    enum:
                      - zeroMinutes
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - sixtyMinutes
                  pricingRules:
                    description: Prices that replace the regular money and credit tiers for bookings starting on the selected weekdays. The list holds at most one rule. On update the list replaces the current rule, and an empty list removes it.
                    maxItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        credits:
                          description: Credit prices on the selected days, kept only while credits are enabled. Omit to keep the regular credit tiers on them.
                          type: object
                          properties:
                            tiers:
                              type: array
                              items:
                                type: object
                                properties:
                                  flatAmount:
                                    type: number
                                    description: Fixed fee added once to bookings in this tier.
                                  from:
                                    type: number
                                    description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                                  unitAmount:
                                    type: number
                                    description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                                required:
                                  - flatAmount
                                  - from
                                  - unitAmount
                              description: Stepped credit pricing tiers for the selected days.
                          required:
                            - tiers
                        days:
                          type: object
                          properties:
                            friday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Friday.
                            monday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Monday.
                            saturday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Saturday.
                            sunday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Sunday.
                            thursday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Thursday.
                            tuesday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Tuesday.
                            wednesday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Wednesday.
                          required:
                            - friday
                            - monday
                            - saturday
                            - sunday
                            - thursday
                            - tuesday
                            - wednesday
                          description: Weekdays, in the location's time zone, on which a booking that starts gets these prices. Select at least one day.
                        money:
                          description: Money prices on the selected days, kept only while money is enabled. Omit to keep the regular money tiers on them.
                          type: object
                          properties:
                            tiers:
                              type: array
                              items:
                                type: object
                                properties:
                                  flatAmount:
                                    type: number
                                    description: Fixed fee added once to bookings in this tier.
                                  from:
                                    type: number
                                    description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                                  unitAmount:
                                    type: number
                                    description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                                required:
                                  - flatAmount
                                  - from
                                  - unitAmount
                              description: Stepped money pricing tiers for the selected days.
                          required:
                            - tiers
                      required:
                        - days
                  refundThreshold:
                    type: string
                    enum:
                      - noRefund
                      - zeroMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - oneHour
                      - twoHours
                      - fourHours
                      - sixHours
                      - twelveHours
                      - oneDay
                      - twoDays
                      - oneWeek
                      - twoWeeks
                      - fourWeeks
                    description: How long before start a booking remains refundable.
                  saltoksAccessGroupRef:
                    description: Salto KS access group reference.
                    nullable: true
                    type: string
                    format: uuid
                  schedule:
                    description: Availability schedule.
                    type: object
                    properties:
                      default:
                        type: object
                        properties:
                          closedDays:
                            type: array
                            items:
                              type: string
                            description: Dates in MM-DD format when the resource is closed.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                days:
                                  type: object
                                  properties:
                                    friday:
                                      type: boolean
                                      description: Whether Friday is included in this schedule window.
                                    monday:
                                      type: boolean
                                      description: Whether Monday is included in this schedule window.
                                    saturday:
                                      type: boolean
                                      description: Whether Saturday is included in this schedule window.
                                    sunday:
                                      type: boolean
                                      description: Whether Sunday is included in this schedule window.
                                    thursday:
                                      type: boolean
                                      description: Whether Thursday is included in this schedule window.
                                    tuesday:
                                      type: boolean
                                      description: Whether Tuesday is included in this schedule window.
                                    wednesday:
                                      type: boolean
                                      description: Whether Wednesday is included in this schedule window.
                                  required:
                                    - friday
                                    - monday
                                    - saturday
                                    - sunday
                                    - thursday
                                    - tuesday
                                    - wednesday
                                  description: Weekdays this time window applies to.
                                hours:
                                  type: object
                                  properties:
                                    from:
                                      type: string
                                      description: Opening time in 24-hour "HH:mm" format.
                                    to:
                                      type: string
                                      description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                                  required:
                                    - from
                                    - to
                                  description: Open hours for the selected weekdays.
                              required:
                                - days
                                - hours
                            description: Weekly availability windows for members.
                        required:
                          - closedDays
                          - items
                        description: Default availability schedule.
                      enabled:
                        type: boolean
                        description: Whether scheduling is enabled.
                      public:
                        type: object
                        properties:
                          closedDays:
                            type: array
                            items:
                              type: string
                            description: Dates in MM-DD format when the resource is closed for public bookers.
                          enabled:
                            type: boolean
                            description: Whether the public schedule is enabled.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                days:
                                  type: object
                                  properties:
                                    friday:
                                      type: boolean
                                      description: Whether Friday is included in this schedule window.
                                    monday:
                                      type: boolean
                                      description: Whether Monday is included in this schedule window.
                                    saturday:
                                      type: boolean
                                      description: Whether Saturday is included in this schedule window.
                                    sunday:
                                      type: boolean
                                      description: Whether Sunday is included in this schedule window.
                                    thursday:
                                      type: boolean
                                      description: Whether Thursday is included in this schedule window.
                                    tuesday:
                                      type: boolean
                                      description: Whether Tuesday is included in this schedule window.
                                    wednesday:
                                      type: boolean
                                      description: Whether Wednesday is included in this schedule window.
                                  required:
                                    - friday
                                    - monday
                                    - saturday
                                    - sunday
                                    - thursday
                                    - tuesday
                                    - wednesday
                                  description: Weekdays this time window applies to.
                                hours:
                                  type: object
                                  properties:
                                    from:
                                      type: string
                                      description: Opening time in 24-hour "HH:mm" format.
                                    to:
                                      type: string
                                      description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                                  required:
                                    - from
                                    - to
                                  description: Open hours for the selected weekdays.
                              required:
                                - days
                                - hours
                            description: Weekly availability windows for public bookers.
                        required:
                          - closedDays
                          - enabled
                          - items
                        description: Public availability schedule.
                    required:
                      - default
                      - enabled
                      - public
                  tapkeyGroupRef:
                    description: Tapkey access group reference.
                    nullable: true
                    type: string
                    format: uuid
                  unifiAccessGroupRef:
                    description: UniFi Access policy reference.
                    nullable: true
                    type: string
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the resource.
                  type:
                    type: string
                    enum:
                      - dedicatedDesk
                      - equipment
                      - hotDesk
                      - office
                      - parkingLot
                      - room
                      - station
                      - conferenceRoom
                      - eventSpace
                      - meetingRoom
                      - phoneBooth
                      - studio
                    description: Type of the resource.
                  visibility:
                    type: string
                    enum:
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                      - public
                    description: Who can see this resource in listings.
                required:
                  - locationRef
                  - title
                  - type
            required:
              - resource
      required: true
    createAssignment:
      content:
        application/json:
          schema:
            type: object
            properties:
              assignment:
                type: object
                properties:
                  customerRef:
                    description: UUID of the company or user membership the resource is assigned to. Omit to hold the resource without a customer.
                    type: string
                    format: uuid
                  endDate:
                    description: ISO timestamp when the assignment ends. Omit for an open-ended assignment.
                    type: string
                    format: date-time
                  entire:
                    type: boolean
                    description: Whether the assignment grants access to the entire resource.
                  quantity:
                    description: Assigned quantity when the resource is partially assigned. Required when entire is false, not allowed otherwise.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  resourceRef:
                    type: string
                    format: uuid
                    description: UUID of the resource to assign.
                  startDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the assignment starts.
                required:
                  - entire
                  - resourceRef
                  - startDate
            required:
              - assignment
      required: true
    patchAssignment:
      content:
        application/json:
          schema:
            type: object
            properties:
              assignment:
                type: object
                properties:
                  endDate:
                    description: ISO timestamp when the assignment ends. Send null to make the assignment open-ended.
                    nullable: true
                    type: string
                    format: date-time
                  entire:
                    description: Whether the assignment grants access to the entire resource.
                    type: boolean
                  quantity:
                    description: Assigned quantity when the resource is partially assigned. Required when entire is false, not allowed otherwise.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  resourceRef:
                    description: UUID of the resource to assign.
                    type: string
                    format: uuid
                  startDate:
                    description: ISO timestamp when the assignment starts.
                    type: string
                    format: date-time
            required:
              - assignment
      required: true
    createResourceMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 5242880
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    patchResource:
      content:
        application/json:
          schema:
            type: object
            properties:
              resource:
                type: object
                description: Resource fields to update.
                properties:
                  autoRelease:
                    description: Auto-release settings for no-show bookings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether auto-release is enabled.
                      interval:
                        type: string
                        enum:
                          - fiveMinutes
                          - tenMinutes
                          - fifteenMinutes
                        description: Minutes after start or creation before the slot is released.
                    required:
                      - enabled
                      - interval
                  avigilonAltaGroupRef:
                    description: Avigilon Alta access group reference.
                    nullable: true
                    type: number
                  bookingPermission:
                    type: string
                    enum:
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                      - public
                    description: Who can create bookings on this resource.
                  bookingStepMinutes:
                    description: Booking step size in minutes.
                    type: number
                  bookingUnit:
                    description: Whether bookings are measured in hours or in whole days. With day, bookings always cover the whole schedule of the day and the duration bounds are set to 24 hours. Defaults to hour.
                    type: string
                    enum:
                      - hour
                      - day
                  bookingWindow:
                    description: How soon and how far ahead users can book this resource. While enabled is false, the resource follows the booking window its location sets for the resource type and keeps its own values for when it is enabled again. Administrators are not limited by either.
                    type: object
                    properties:
                      bookAhead:
                        description: How far ahead users can book the resource, the same values the location takes. Required while enabled is true.
                        type: string
                        enum:
                          - oneDay
                          - twoDays
                          - oneWeek
                          - twoWeeks
                          - oneMonth
                          - threeMonths
                          - sixMonths
                          - oneYear
                          - unlimited
                      enabled:
                        type: boolean
                        description: Whether the resource uses this booking window instead of the one its location sets for the resource type.
                      minNotice:
                        description: How many minutes before it starts a booking of the resource has to be made, up to 30 days. 0 accepts bookings up to the start time. Required while enabled is true.
                        type: integer
                        minimum: 0
                        maximum: 43200
                    required:
                      - enabled
                  brivoGroupRef:
                    description: Brivo access group reference.
                    nullable: true
                    type: number
                  bufferTime:
                    type: string
                    enum:
                      - zeroMinutes
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - sixtyMinutes
                    description: Buffer time blocked before each booking.
                  capacity:
                    description: Maximum capacity per booking.
                    nullable: true
                    type: number
                  checkIn:
                    description: Check-in settings.
                    type: object
                    properties:
                      interval:
                        type: string
                        enum:
                          - zeroMinutes
                          - fiveMinutes
                          - tenMinutes
                          - fifteenMinutes
                        description: How early before start the guest must check in.
                    required:
                      - interval
                  confirmationEmail:
                    description: Confirmation email settings.
                    type: object
                    properties:
                      bookingCreatedByAdmin:
                        type: boolean
                        description: Send confirmation when an admin creates a booking.
                      bookingCreatedByMember:
                        type: boolean
                        description: Send confirmation when a member creates a booking.
                      bookingCreatedByNetworkMember:
                        type: boolean
                        description: Send confirmation when a network member creates a booking.
                      bookingCreatedByPublic:
                        type: boolean
                        description: Send confirmation when a public user creates a booking.
                      template:
                        type: string
                        description: Email template id for confirmation emails.
                    required:
                      - bookingCreatedByAdmin
                      - bookingCreatedByMember
                      - bookingCreatedByNetworkMember
                      - bookingCreatedByPublic
                      - template
                  credits:
                    description: Credit pricing settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether customers can pay with location credits.
                      price:
                        description: Optional display price; tier data is authoritative.
                        type: number
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unitAmount:
                              type: number
                              description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                          required:
                            - flatAmount
                            - from
                            - unitAmount
                        description: Stepped credit pricing tiers.
                    required:
                      - enabled
                      - tiers
                  dayPassesEnabled:
                    description: Whether members can book this resource with day passes. Only hotDesk resources support day passes; enabling it for any other type is rejected.
                    type: boolean
                  description:
                    description: Description of the resource.
                    type: string
                  duration:
                    description: Booking duration bounds.
                    type: object
                    properties:
                      max:
                        type: number
                        description: Maximum booking duration in minutes.
                      min:
                        type: number
                        description: Minimum booking duration in minutes.
                      public:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                            description: Whether public bookers have separate duration limits.
                          max:
                            type: number
                            description: Maximum booking duration in minutes for public bookers.
                          min:
                            type: number
                            description: Minimum booking duration in minutes for public bookers.
                        required:
                          - enabled
                          - max
                          - min
                        description: Duration limits for public bookers.
                    required:
                      - max
                      - min
                      - public
                  dynamicPricing:
                    description: Dynamic pricing settings.
                    type: object
                    properties:
                      deltaAbove:
                        type: number
                        description: Maximum price increase percentage when demand is high.
                      deltaBelow:
                        type: number
                        description: Maximum price decrease percentage when demand is low.
                      enabled:
                        type: boolean
                        description: Whether dynamic pricing is enabled.
                    required:
                      - deltaAbove
                      - deltaBelow
                      - enabled
                  googleCalendar:
                    description: Google Calendar integration settings. Pass null to disconnect the calendar from the resource.
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        description: Google Calendar id.
                      twoWaySyncEnabled:
                        type: boolean
                        description: Whether two-way sync is enabled.
                    required:
                      - id
                      - twoWaySyncEnabled
                  kisiGroupRef:
                    description: Kisi access group reference.
                    nullable: true
                    type: number
                  media:
                    description: Images of the resource in display order, the first one being its cover. On update the list replaces the current images, and an empty list removes them all.
                    maxItems: 10
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the uploaded image, as returned by the media upload endpoint.
                      required:
                        - key
                  money:
                    description: Money pricing settings.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether customers can pay with money.
                      price:
                        description: Optional display price; tier data is authoritative.
                        type: number
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            flatAmount:
                              type: number
                              description: Fixed fee added once to bookings in this tier.
                            from:
                              type: number
                              description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                            unitAmount:
                              type: number
                              description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                          required:
                            - flatAmount
                            - from
                            - unitAmount
                        description: Stepped money pricing tiers.
                    required:
                      - enabled
                      - tiers
                  outlookCalendar:
                    description: Outlook Calendar integration settings. Pass null to disconnect the calendar from the resource.
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        description: Outlook calendar id.
                      twoWaySyncEnabled:
                        type: boolean
                        description: Whether two-way sync is enabled.
                    required:
                      - id
                      - twoWaySyncEnabled
                  parentRef:
                    description: Parent resource id when creating a child resource.
                    nullable: true
                    type: string
                    format: uuid
                  plans:
                    description: Membership plan tiers sold for this resource.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether membership plans can be sold for this resource.
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            addons:
                              default: []
                              description: Addons included in the tier.
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    description: Addon id.
                                required:
                                  - id
                            commitmentCycles:
                              type: number
                              description: Number of billing cycles the member commits to for this tier.
                            credits:
                              type: number
                              description: Credits included per period in this membership tier.
                            dayPasses:
                              description: Optional number of day passes bundled with the tier.
                              type: number
                            description:
                              description: Marketing or internal description of the tier.
                              type: string
                            discounts:
                              deprecated: true
                              description: Synthetic discount percentages by product type.
                              type: object
                              properties:
                                creditPackages:
                                  description: Discount percentage for credit packages.
                                  type: number
                                desks:
                                  description: Discount percentage for desk bookings.
                                  type: number
                                equipment:
                                  description: Discount percentage for equipment bookings.
                                  type: number
                                events:
                                  description: Discount percentage for events.
                                  type: number
                                rooms:
                                  description: Discount percentage for room bookings.
                                  type: number
                                shop:
                                  description: Discount percentage for shop products.
                                  type: number
                            entire:
                              type: boolean
                              description: If true, tier grants access to the whole resource.
                            ezeepBlueGroupRef:
                              description: Ezeep Blue printing group reference.
                              type: string
                            grantedDiscounts:
                              description: Coupons to grant to members on this tier.
                              type: array
                              items:
                                type: object
                                properties:
                                  coupon:
                                    type: object
                                    properties:
                                      amountOff:
                                        description: Fixed discount amount.
                                        type: number
                                      currencyCode:
                                        description: Currency code for amountOff.
                                        type: string
                                      id:
                                        type: string
                                        format: uuid
                                        description: Unique identifier of the coupon.
                                      percentOff:
                                        description: Percentage discount.
                                        type: number
                                      productTypes:
                                        description: Product types the coupon applies to.
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - roomBookings
                                            - eventSpaceBookings
                                            - conferenceRoomBookings
                                            - meetingRoomBookings
                                            - phoneBoothBookings
                                            - stationBookings
                                            - studioBookings
                                            - hotDeskBookings
                                            - dedicatedDeskBookings
                                            - officeBookings
                                            - parkingBookings
                                            - equipmentBookings
                                            - eventTickets
                                            - shopProducts
                                            - packages
                                            - subscriptionItems
                                    required:
                                      - id
                                    description: Coupon to grant.
                                required:
                                  - coupon
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the tier.
                            period:
                              type: string
                              enum:
                                - day
                                - week
                                - month
                                - threeMonths
                                - sixMonths
                                - year
                              description: Billing period label for the tier.
                            price:
                              type: number
                              description: Recurring price for this tier in the location currency.
                            selfSignup:
                              description: Self sign-up settings of the tier.
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Whether members may self-enroll into the tier.
                                type:
                                  type: string
                                  description: Self sign-up flow type.
                              required:
                                - enabled
                                - type
                            selfSignupType:
                              deprecated: true
                              description: Deprecated. Use selfSignup.type instead. How members may self-enroll, if applicable.
                              type: string
                            setupFee:
                              description: One-time fee charged when subscribing to this tier.
                              type: number
                            title:
                              type: string
                              description: Display name of the plan tier.
                          required:
                            - commitmentCycles
                            - credits
                            - entire
                            - id
                            - period
                            - price
                            - title
                        description: Sellable membership options for this resource.
                    required:
                      - enabled
                      - tiers
                  preparationMinutes:
                    deprecated: true
                    description: Deprecated. Use bufferTime instead.
                    type: string
                    enum:
                      - zeroMinutes
                      - fiveMinutes
                      - tenMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - sixtyMinutes
                  pricingRules:
                    description: Prices that replace the regular money and credit tiers for bookings starting on the selected weekdays. The list holds at most one rule. On update the list replaces the current rule, and an empty list removes it.
                    maxItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        credits:
                          description: Credit prices on the selected days, kept only while credits are enabled. Omit to keep the regular credit tiers on them.
                          type: object
                          properties:
                            tiers:
                              type: array
                              items:
                                type: object
                                properties:
                                  flatAmount:
                                    type: number
                                    description: Fixed fee added once to bookings in this tier.
                                  from:
                                    type: number
                                    description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                                  unitAmount:
                                    type: number
                                    description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                                required:
                                  - flatAmount
                                  - from
                                  - unitAmount
                              description: Stepped credit pricing tiers for the selected days.
                          required:
                            - tiers
                        days:
                          type: object
                          properties:
                            friday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Friday.
                            monday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Monday.
                            saturday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Saturday.
                            sunday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Sunday.
                            thursday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Thursday.
                            tuesday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Tuesday.
                            wednesday:
                              type: boolean
                              description: Whether the rule applies to bookings starting on a Wednesday.
                          required:
                            - friday
                            - monday
                            - saturday
                            - sunday
                            - thursday
                            - tuesday
                            - wednesday
                          description: Weekdays, in the location's time zone, on which a booking that starts gets these prices. Select at least one day.
                        money:
                          description: Money prices on the selected days, kept only while money is enabled. Omit to keep the regular money tiers on them.
                          type: object
                          properties:
                            tiers:
                              type: array
                              items:
                                type: object
                                properties:
                                  flatAmount:
                                    type: number
                                    description: Fixed fee added once to bookings in this tier.
                                  from:
                                    type: number
                                    description: Booking length in minutes at which this tier starts, for example 480 for 8 hours.
                                  unitAmount:
                                    type: number
                                    description: Price per hour of booking within this tier, not per minute, for example 40 for 40 per hour.
                                required:
                                  - flatAmount
                                  - from
                                  - unitAmount
                              description: Stepped money pricing tiers for the selected days.
                          required:
                            - tiers
                      required:
                        - days
                  refundThreshold:
                    type: string
                    enum:
                      - noRefund
                      - zeroMinutes
                      - fifteenMinutes
                      - thirtyMinutes
                      - oneHour
                      - twoHours
                      - fourHours
                      - sixHours
                      - twelveHours
                      - oneDay
                      - twoDays
                      - oneWeek
                      - twoWeeks
                      - fourWeeks
                    description: How long before start a booking remains refundable.
                  saltoksAccessGroupRef:
                    description: Salto KS access group reference.
                    nullable: true
                    type: string
                    format: uuid
                  schedule:
                    description: Availability schedule.
                    type: object
                    properties:
                      default:
                        type: object
                        properties:
                          closedDays:
                            type: array
                            items:
                              type: string
                            description: Dates in MM-DD format when the resource is closed.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                days:
                                  type: object
                                  properties:
                                    friday:
                                      type: boolean
                                      description: Whether Friday is included in this schedule window.
                                    monday:
                                      type: boolean
                                      description: Whether Monday is included in this schedule window.
                                    saturday:
                                      type: boolean
                                      description: Whether Saturday is included in this schedule window.
                                    sunday:
                                      type: boolean
                                      description: Whether Sunday is included in this schedule window.
                                    thursday:
                                      type: boolean
                                      description: Whether Thursday is included in this schedule window.
                                    tuesday:
                                      type: boolean
                                      description: Whether Tuesday is included in this schedule window.
                                    wednesday:
                                      type: boolean
                                      description: Whether Wednesday is included in this schedule window.
                                  required:
                                    - friday
                                    - monday
                                    - saturday
                                    - sunday
                                    - thursday
                                    - tuesday
                                    - wednesday
                                  description: Weekdays this time window applies to.
                                hours:
                                  type: object
                                  properties:
                                    from:
                                      type: string
                                      description: Opening time in 24-hour "HH:mm" format.
                                    to:
                                      type: string
                                      description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                                  required:
                                    - from
                                    - to
                                  description: Open hours for the selected weekdays.
                              required:
                                - days
                                - hours
                            description: Weekly availability windows for members.
                        required:
                          - closedDays
                          - items
                        description: Default availability schedule.
                      enabled:
                        type: boolean
                        description: Whether scheduling is enabled.
                      public:
                        type: object
                        properties:
                          closedDays:
                            type: array
                            items:
                              type: string
                            description: Dates in MM-DD format when the resource is closed for public bookers.
                          enabled:
                            type: boolean
                            description: Whether the public schedule is enabled.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                days:
                                  type: object
                                  properties:
                                    friday:
                                      type: boolean
                                      description: Whether Friday is included in this schedule window.
                                    monday:
                                      type: boolean
                                      description: Whether Monday is included in this schedule window.
                                    saturday:
                                      type: boolean
                                      description: Whether Saturday is included in this schedule window.
                                    sunday:
                                      type: boolean
                                      description: Whether Sunday is included in this schedule window.
                                    thursday:
                                      type: boolean
                                      description: Whether Thursday is included in this schedule window.
                                    tuesday:
                                      type: boolean
                                      description: Whether Tuesday is included in this schedule window.
                                    wednesday:
                                      type: boolean
                                      description: Whether Wednesday is included in this schedule window.
                                  required:
                                    - friday
                                    - monday
                                    - saturday
                                    - sunday
                                    - thursday
                                    - tuesday
                                    - wednesday
                                  description: Weekdays this time window applies to.
                                hours:
                                  type: object
                                  properties:
                                    from:
                                      type: string
                                      description: Opening time in 24-hour "HH:mm" format.
                                    to:
                                      type: string
                                      description: Closing time in 24-hour format, counted from the start of the weekday. A day that stays open past midnight closes after 24:00, for example at 26:00 for 2:00 AM the next day, and at most 24 hours after the opening time.
                                  required:
                                    - from
                                    - to
                                  description: Open hours for the selected weekdays.
                              required:
                                - days
                                - hours
                            description: Weekly availability windows for public bookers.
                        required:
                          - closedDays
                          - enabled
                          - items
                        description: Public availability schedule.
                    required:
                      - default
                      - enabled
                      - public
                  tapkeyGroupRef:
                    description: Tapkey access group reference.
                    nullable: true
                    type: string
                    format: uuid
                  unifiAccessGroupRef:
                    description: UniFi Access policy reference.
                    nullable: true
                    type: string
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the resource.
                  type:
                    type: string
                    enum:
                      - dedicatedDesk
                      - equipment
                      - hotDesk
                      - office
                      - parkingLot
                      - room
                      - station
                      - conferenceRoom
                      - eventSpace
                      - meetingRoom
                      - phoneBooth
                      - studio
                    description: Type of the resource.
                  visibility:
                    type: string
                    enum:
                      - admins
                      - exclusiveMembers
                      - members
                      - networkMembers
                      - public
                    description: Who can see this resource in listings.
            required:
              - resource
      required: true
    getResourceAvailability:
      content:
        application/json:
          schema:
            type: object
            properties:
              endDate:
                type: string
                format: date-time
                description: The end of the slot to check, in ISO 8601.
              entire:
                description: Set to true to check the entire resource instead of individual seats. Supported for office resources.
                type: boolean
              quantity:
                description: The number of seats to check. Required for seat-based resources such as hot desks, unless entire is true.
                type: integer
                minimum: 1
                maximum: 9007199254740991
              recurrence:
                description: RRULE lines describing a repeating slot, e.g. `RRULE:FREQ=WEEKLY;COUNT=10`. The DTSTART line is derived from startDate. The slot is unavailable as soon as any occurrence is.
                type: array
                items:
                  type: string
              startDate:
                type: string
                format: date-time
                description: The start of the slot to check, in ISO 8601.
            required:
              - endDate
              - startDate
      required: true
    createBooking:
      content:
        application/json:
          schema:
            type: object
            properties:
              booking:
                type: object
                properties:
                  attendees:
                    description: Attendees to invite to the booking, each an existing user by id or a person by email. Supported for room resources. A person invited by email joins the network without a membership in the location. The owner is left out, and so are all attendees when the owner is not a member of the location.
                    type: array
                    items:
                      type: object
                      properties:
                        user:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: User id of an existing user.
                              required:
                                - id
                            - type: object
                              properties:
                                email:
                                  description: Email of the person to invite. An existing user with this email is invited, otherwise a user is created.
                                  type: string
                                name:
                                  description: First name of a user created for the email.
                                  type: string
                                phoneNumber:
                                  description: Phone number of a user created for the email.
                                  type: string
                                surname:
                                  description: Last name of a user created for the email.
                                  type: string
                              required:
                                - email
                      required:
                        - user
                  endDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the booking ends.
                  entire:
                    description: Set to true to book the entire resource instead of individual seats. Supported for office resources.
                    type: boolean
                  membershipRefOwner:
                    deprecated: true
                    description: Membership id to book on behalf of. Defaults to the authenticated user's membership.
                    type: string
                    format: uuid
                  memo:
                    description: Internal note attached to the booking.
                    type: string
                  metadata:
                    type: object
                    additionalProperties: {}
                    description: Key-value data attached to the booking. Values cannot be objects or arrays. Available only for admins.
                  recurrence:
                    description: RRULE lines that make the booking repeat, e.g. `RRULE:FREQ=WEEKLY;COUNT=10`. The DTSTART line is derived from startDate. Only a free booking can repeat.
                    type: array
                    items:
                      type: string
                  resourceRef:
                    type: string
                    format: uuid
                    description: ID of the resource to book.
                  seats:
                    description: Number of seats to reserve. Required for desk and office resources.
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  sendUpdates:
                    default: all
                    description: Whether to notify the owner and the attendees about the booking. Defaults to `all`.
                    type: string
                    enum:
                      - none
                      - all
                  startDate:
                    type: string
                    format: date-time
                    description: ISO timestamp when the booking starts.
                  title:
                    description: Custom title for the booking.
                    type: string
                required:
                  - endDate
                  - resourceRef
                  - startDate
              paymentMethod:
                description: 'Payment method the booking is paid with. Pass the `external` method to record a payment collected outside Spacebring: `succeeded` confirms the booking, `pending` keeps it tentative until the payment is marked as paid. Omit the field to create a free booking.'
                oneOf:
                  - type: object
                    description: Payment recorded as collected outside Spacebring.
                    properties:
                      discounts:
                        description: Discounts to apply, echoed from the payment method. An empty array applies none; omitting it picks the best suited coupon.
                        type: array
                        items:
                          type: object
                          properties:
                            coupon:
                              description: Coupon to apply.
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: Unique identifier of the coupon.
                              required:
                                - id
                            promocode:
                              description: Promocode that brought the coupon.
                              type: object
                              properties:
                                code:
                                  type: string
                                  description: Promocode string.
                              required:
                                - code
                          description: Discount to apply, as the payment method reported it.
                      external:
                        type: object
                        properties:
                          status:
                            description: Whether the payment was already collected (`succeeded`, the default) or is still owed (`pending`), which keeps the purchase tentative until the transaction is marked paid.
                            type: string
                            enum:
                              - pending
                              - succeeded
                        description: 'External payment details: the payment is collected outside Spacebring, so it carries only its status.'
                      type:
                        type: string
                        enum:
                          - external
                        description: Discriminator of the external payment method.
                    required:
                      - external
                      - type
            required:
              - booking
      required: true
    patchBooking:
      content:
        application/json:
          schema:
            type: object
            properties:
              booking:
                type: object
                properties:
                  attendees:
                    description: Full list of attendees to keep on the booking. Attendees left out are removed. Supported for room resources.
                    type: array
                    items:
                      type: object
                      properties:
                        user:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: User id of the attendee.
                          required:
                            - id
                      required:
                        - user
                  endDate:
                    description: ISO timestamp when the booking ends.
                    type: string
                    format: date-time
                  entire:
                    description: Set to true to book the entire resource instead of individual seats. Supported for office resources.
                    type: boolean
                  memo:
                    description: Internal note attached to the booking.
                    type: string
                  metadata:
                    type: object
                    additionalProperties: {}
                    description: Key-value data to merge into the booking metadata. Keys left out keep their value, and a key set to `null` is removed. Values cannot be objects or arrays. Available only for admins.
                  recurrence:
                    description: RRULE lines that replace how the booking repeats, e.g. `RRULE:FREQ=WEEKLY;COUNT=10`. The DTSTART line is derived from the booking start, and the occurrences already detached from the series stay excluded. Only supported for a repeating booking, and only with updateRepeatingScope set to `thisAndNext`.
                    type: array
                    items:
                      type: string
                  resourceRef:
                    description: ID of the resource to move the booking to. The target must belong to the same location, be of an interchangeable type, and accept the booking's payment method. A booking paid by card or externally can't move to a resource with a lower price, and a move to a pricier one charges the difference as a separate transaction. Not supported for repeating bookings.
                    type: string
                    format: uuid
                  seats:
                    description: Number of seats to reserve. Supported for desk and office resources.
                    type: integer
                    minimum: 1
                    maximum: 9007199254740991
                  sendUpdates:
                    description: Whether to notify the owner and the attendees about the update. Defaults to the value stored on the booking.
                    type: string
                    enum:
                      - none
                      - all
                  startDate:
                    description: ISO timestamp when the booking starts. Patching it without an endDate moves the booking and keeps its current duration.
                    type: string
                    format: date-time
                  title:
                    description: Custom title for the booking.
                    type: string
                description: Booking fields to update. Fields left out keep their current value.
              updateRepeatingScope:
                default: singleOccurrence
                description: For a repeating booking, whether to update only the addressed occurrence or that one and every later occurrence.
                type: string
                enum:
                  - singleOccurrence
                  - thisAndNext
            required:
              - booking
      required: true
    createShopCategory:
      content:
        application/json:
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this category belongs to.
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the category.
                required:
                  - locationRef
                  - title
                description: Shop category to create.
            required:
              - category
      required: true
    updateShopCategory:
      content:
        application/json:
          schema:
            type: object
            properties:
              category:
                type: object
                properties:
                  title:
                    type: string
                    minLength: 1
                    description: Display name of the category.
                required:
                  - title
                description: Shop category to update.
            required:
              - category
      required: true
    createProduct:
      content:
        application/json:
          schema:
            type: object
            properties:
              product:
                type: object
                properties:
                  categoryRef:
                    type: string
                    format: uuid
                    description: ID of the category this product belongs to.
                  description:
                    default: ''
                    description: Product description.
                    type: string
                  featured:
                    default: false
                    description: Whether the product is featured.
                    type: boolean
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location this product belongs to.
                  media:
                    description: Media files of the product.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        available:
                          default: false
                          description: Whether this option is available for purchase.
                          type: boolean
                        customTax:
                          default:
                            enabled: false
                            rate: 0
                          type: object
                          properties:
                            enabled:
                              default: false
                              description: Whether custom tax is applied to this option.
                              type: boolean
                            rate:
                              default: 0
                              description: Custom tax rate (non-negative).
                              type: number
                              minimum: 0
                        description:
                          default: ''
                          description: Option description.
                          type: string
                        price:
                          type: object
                          properties:
                            credits:
                              type: object
                              properties:
                                amount:
                                  default: 0
                                  description: Price in location credits.
                                  type: number
                                  minimum: 0
                                enabled:
                                  default: false
                                  description: Whether credits payment is enabled for this option.
                                  type: boolean
                            money:
                              type: object
                              properties:
                                amount:
                                  default: 0
                                  description: Price in money (location currency).
                                  type: number
                                  minimum: 0
                                enabled:
                                  default: false
                                  description: Whether money payment is enabled for this option.
                                  type: boolean
                          required:
                            - credits
                            - money
                          description: Pricing for this option.
                        stock:
                          default:
                            enabled: false
                            quantity: 0
                          type: object
                          properties:
                            enabled:
                              default: false
                              description: Whether stock tracking is enabled.
                              type: boolean
                            quantity:
                              default: 0
                              description: Units on hand when stock is enabled.
                              type: number
                              minimum: 0
                              maximum: 1000000
                        title:
                          type: string
                          minLength: 1
                          description: Option title.
                        id:
                          description: Option ID. If omitted, the server assigns a new UUID.
                          type: string
                      required:
                        - price
                        - title
                    description: Purchasable options for this product.
                  order:
                    default:
                      enabled: false
                    description: Checkout availability settings for this product.
                    type: object
                    properties:
                      enabled:
                        default: false
                        description: Whether the product can be purchased through checkout.
                        type: boolean
                  refundPolicy:
                    default: noRefund
                    description: 'Refund policy. noRefund: purchases are final. statusNew: refunds allowed while order is in new state.'
                    type: string
                    enum:
                      - noRefund
                      - statusNew
                  title:
                    type: string
                    minLength: 1
                    description: Product title.
                  visibility:
                    default: public
                    description: 'Who can see this product. public: all. admins: admins only. members: location members. networkMembers: network members.'
                    type: string
                    enum:
                      - public
                      - admins
                      - members
                      - networkMembers
                required:
                  - categoryRef
                  - locationRef
                  - options
                  - title
                description: Product to create.
            required:
              - product
      required: true
    updateProduct:
      content:
        application/json:
          schema:
            type: object
            properties:
              product:
                type: object
                properties:
                  categoryRef:
                    type: string
                    format: uuid
                    description: ID of the category this product belongs to.
                  description:
                    default: ''
                    description: Product description.
                    type: string
                  featured:
                    default: false
                    description: Whether the product is featured.
                    type: boolean
                  media:
                    description: Media files of the product.
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Storage key of the media file, as returned by the media upload endpoint.
                      required:
                        - key
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        available:
                          default: false
                          description: Whether this option is available for purchase.
                          type: boolean
                        customTax:
                          default:
                            enabled: false
                            rate: 0
                          type: object
                          properties:
                            enabled:
                              default: false
                              description: Whether custom tax is applied to this option.
                              type: boolean
                            rate:
                              default: 0
                              description: Custom tax rate (non-negative).
                              type: number
                              minimum: 0
                        description:
                          default: ''
                          description: Option description.
                          type: string
                        price:
                          type: object
                          properties:
                            credits:
                              type: object
                              properties:
                                amount:
                                  default: 0
                                  description: Price in location credits.
                                  type: number
                                  minimum: 0
                                enabled:
                                  default: false
                                  description: Whether credits payment is enabled for this option.
                                  type: boolean
                            money:
                              type: object
                              properties:
                                amount:
                                  default: 0
                                  description: Price in money (location currency).
                                  type: number
                                  minimum: 0
                                enabled:
                                  default: false
                                  description: Whether money payment is enabled for this option.
                                  type: boolean
                          required:
                            - credits
                            - money
                          description: Pricing for this option.
                        stock:
                          default:
                            enabled: false
                            quantity: 0
                          type: object
                          properties:
                            enabled:
                              default: false
                              description: Whether stock tracking is enabled.
                              type: boolean
                            quantity:
                              default: 0
                              description: Units on hand when stock is enabled.
                              type: number
                              minimum: 0
                              maximum: 1000000
                        title:
                          type: string
                          minLength: 1
                          description: Option title.
                        id:
                          description: UUID of the option to update.
                          type: string
                          format: uuid
                      required:
                        - price
                        - title
                    description: Purchasable options for this product.
                  order:
                    default:
                      enabled: false
                    description: Checkout availability settings for this product.
                    type: object
                    properties:
                      enabled:
                        default: false
                        description: Whether the product can be purchased through checkout.
                        type: boolean
                  refundPolicy:
                    default: noRefund
                    description: 'Refund policy. noRefund: purchases are final. statusNew: refunds allowed while order is in new state.'
                    type: string
                    enum:
                      - noRefund
                      - statusNew
                  title:
                    type: string
                    minLength: 1
                    description: Product title.
                  visibility:
                    default: public
                    description: 'Who can see this product. public: all. admins: admins only. members: location members. networkMembers: network members.'
                    type: string
                    enum:
                      - public
                      - admins
                      - members
                      - networkMembers
                required:
                  - categoryRef
                  - options
                  - title
                description: Product to update.
            required:
              - product
      required: true
    createProductMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  mimeType:
                    type: string
                    enum:
                      - image/gif
                      - image/jpeg
                      - image/png
                      - image/webp
                    description: MIME type of the file to upload.
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 5242880
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    assignSubscription:
      content:
        application/json:
          schema:
            type: object
            properties:
              issueFirstInvoice:
                default: auto
                description: If "manual", the first invoice will not be issued. If "auto", the first invoice will be issued automatically.
                type: string
                enum:
                  - manual
                  - auto
              subscription:
                allOf:
                  - type: object
                    properties:
                      addPendingItemsToInvoice:
                        default: true
                        description: Whether pending items are added to the next invoice.
                        type: boolean
                      advanceInvoicing:
                        description: Advance invoicing settings.
                        type: object
                        properties:
                          days:
                            description: Number of days before renewal to issue an invoice.
                            type: number
                            minimum: 0
                          type:
                            type: string
                            enum:
                              - days
                              - default
                            description: Advance invoicing mode.
                        required:
                          - type
                      billingCycleAnchor:
                        description: Billing cycle anchor mode.
                        type: string
                        enum:
                          - any
                          - day
                      endDate:
                        description: ISO timestamp when the subscription ends.
                        nullable: true
                        type: string
                        format: date-time
                      items:
                        description: Initial subscription line items.
                        type: array
                        items:
                          type: object
                          properties:
                            autoUpdateFromProduct:
                              description: Whether the item syncs from its linked product.
                              type: boolean
                            avigilonAltaGroupRef:
                              description: Avigilon Alta access group reference.
                              nullable: true
                              type: number
                            brivoGroupRef:
                              description: Brivo access group reference.
                              nullable: true
                              type: number
                            commitmentCycles:
                              description: Number of billing cycles in the commitment period.
                              type: number
                            couponRef:
                              description: ID of the coupon applied to this item.
                              nullable: true
                              type: string
                            createDate:
                              description: ISO timestamp of when the item was created.
                              type: string
                              format: date-time
                            credits:
                              description: Credits included per billing cycle.
                              type: number
                            customEnd:
                              description: Whether the item has a custom end date.
                              type: boolean
                            customStart:
                              description: Whether the item has a custom start date.
                              type: boolean
                            customTax:
                              description: Custom tax settings for this item.
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                  description: Whether custom tax is enabled for this item.
                                rate:
                                  type: number
                                  description: Custom tax rate as a decimal.
                            dayPasses:
                              description: Day passes included per billing cycle.
                              type: number
                            discounts:
                              deprecated: true
                              description: Synthetic discount percentages by product type.
                              type: object
                              properties:
                                creditPackages:
                                  type: number
                                  description: Discount percentage applied to credit packages.
                                desks:
                                  type: number
                                  description: Discount percentage applied to desk bookings.
                                equipment:
                                  type: number
                                  description: Discount percentage applied to equipment bookings.
                                events:
                                  type: number
                                  description: Discount percentage applied to event tickets.
                                rooms:
                                  type: number
                                  description: Discount percentage applied to room bookings.
                                shop:
                                  type: number
                                  description: Discount percentage applied to shop products.
                            endDate:
                              description: ISO timestamp when the item ends.
                              type: string
                              format: date-time
                            entire:
                              description: Whether the item grants access to the entire resource.
                              type: boolean
                            exclusiveAccess:
                              description: Resources and benefits with exclusive access.
                              type: object
                              properties:
                                benefitRefs:
                                  type: array
                                  items:
                                    type: string
                                    format: uuid
                                  description: Benefit IDs with exclusive access.
                                resourceRefs:
                                  type: array
                                  items:
                                    type: string
                                    format: uuid
                                  description: Resource IDs with exclusive access.
                            ezeepBlueGroupRef:
                              description: Ezeep Blue group reference.
                              nullable: true
                              type: string
                            grantedDiscounts:
                              description: Coupons granted to this item.
                              type: array
                              items:
                                type: object
                                properties:
                                  coupon:
                                    type: object
                                    properties:
                                      amountOff:
                                        description: Fixed discount amount.
                                        type: number
                                      currencyCode:
                                        description: Currency code for amountOff.
                                        type: string
                                      id:
                                        type: string
                                        format: uuid
                                        description: Unique identifier of the coupon.
                                      percentOff:
                                        description: Percentage discount.
                                        type: number
                                      productTypes:
                                        description: Product types the coupon applies to.
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - roomBookings
                                            - eventSpaceBookings
                                            - conferenceRoomBookings
                                            - meetingRoomBookings
                                            - phoneBoothBookings
                                            - stationBookings
                                            - studioBookings
                                            - hotDeskBookings
                                            - dedicatedDeskBookings
                                            - officeBookings
                                            - parkingBookings
                                            - equipmentBookings
                                            - eventTickets
                                            - shopProducts
                                            - packages
                                            - subscriptionItems
                                    required:
                                      - id
                                    description: Coupon to grant.
                                required:
                                  - coupon
                            kisiGroupRef:
                              description: Kisi access group reference.
                              nullable: true
                              type: number
                            plan:
                              description: Linked plan details.
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier of the plan.
                                title:
                                  description: Display name of the plan.
                                  type: string
                              required:
                                - id
                            planRef:
                              description: ID of the linked plan.
                              type: string
                              format: uuid
                            price:
                              description: Price per billing cycle.
                              type: number
                            productRef:
                              description: ID of the linked product.
                              type: string
                              format: uuid
                            quantity:
                              description: Quantity of this item.
                              type: number
                            resourceRef:
                              description: Reference to the linked resource.
                              nullable: true
                              type: string
                              format: uuid
                            saltoksAccessGroupRef:
                              description: Salto KS access group reference.
                              nullable: true
                              type: string
                            setupFee:
                              description: One-time setup fee for this item.
                              type: number
                            startDate:
                              description: ISO timestamp when the item starts.
                              type: string
                              format: date-time
                            tapkeyGroupRef:
                              description: Tapkey access group reference.
                              nullable: true
                              type: string
                            tier:
                              description: Linked tier details.
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier of the tier.
                                title:
                                  description: Display name of the tier.
                                  type: string
                              required:
                                - id
                            tierRef:
                              description: ID of the linked tier.
                              type: string
                              format: uuid
                            title:
                              description: Display title of the item.
                              type: string
                            type:
                              description: Billing type of the item.
                              type: string
                              enum:
                                - oneOff
                                - recurring
                            unifiAccessGroupRef:
                              description: UniFi Access policy reference.
                              nullable: true
                              type: string
                      period:
                        type: string
                        enum:
                          - day
                          - week
                          - month
                          - threeMonths
                          - sixMonths
                          - year
                        description: Billing period.
                      startDate:
                        type: string
                        format: date-time
                        description: ISO timestamp when the subscription starts.
                    required:
                      - period
                      - startDate
                  - oneOf:
                      - type: object
                        properties:
                          companyRef:
                            type: string
                            format: uuid
                            description: ID of the company to assign the subscription to.
                        required:
                          - companyRef
                        title: Company subscription
                      - type: object
                        properties:
                          membershipRef:
                            type: string
                            format: uuid
                            description: ID of the membership to assign the subscription to.
                        required:
                          - membershipRef
                        title: Membership subscription
                description: Subscription to create. Must include exactly one of companyRef or membershipRef, not both.
            required:
              - subscription
      required: true
    patchSubscription:
      content:
        application/json:
          schema:
            type: object
            properties:
              subscription:
                type: object
                properties:
                  addPendingItemsToInvoice:
                    description: Whether pending items are added to the next invoice.
                    type: boolean
                  advanceInvoicing:
                    description: Advance invoicing settings.
                    type: object
                    properties:
                      days:
                        description: Number of days before renewal to issue an invoice.
                        type: number
                      type:
                        type: string
                        enum:
                          - days
                          - default
                        description: Advance invoicing mode.
                    required:
                      - type
                  endDate:
                    description: ISO timestamp when the subscription ends.
                    nullable: true
                    type: string
                    format: date-time
                  items:
                    description: Updated subscription line items.
                    type: array
                    items:
                      type: object
                      properties:
                        autoUpdateFromProduct:
                          description: Whether the item syncs from its linked product.
                          type: boolean
                        avigilonAltaGroupRef:
                          description: Avigilon Alta access group reference.
                          nullable: true
                          type: number
                        brivoGroupRef:
                          description: Brivo access group reference.
                          nullable: true
                          type: number
                        commitmentCycles:
                          description: Number of billing cycles in the commitment period.
                          type: number
                        couponRef:
                          description: ID of the coupon applied to this item.
                          nullable: true
                          type: string
                        createDate:
                          description: ISO timestamp of when the item was created.
                          type: string
                          format: date-time
                        credits:
                          description: Credits included per billing cycle.
                          type: number
                        customEnd:
                          description: Whether the item has a custom end date.
                          type: boolean
                        customStart:
                          description: Whether the item has a custom start date.
                          type: boolean
                        customTax:
                          description: Custom tax settings for this item.
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether custom tax is enabled for this item.
                            rate:
                              type: number
                              description: Custom tax rate as a decimal.
                        dayPasses:
                          description: Day passes included per billing cycle.
                          type: number
                        discounts:
                          deprecated: true
                          description: Synthetic discount percentages by product type.
                          type: object
                          properties:
                            creditPackages:
                              type: number
                              description: Discount percentage applied to credit packages.
                            desks:
                              type: number
                              description: Discount percentage applied to desk bookings.
                            equipment:
                              type: number
                              description: Discount percentage applied to equipment bookings.
                            events:
                              type: number
                              description: Discount percentage applied to event tickets.
                            rooms:
                              type: number
                              description: Discount percentage applied to room bookings.
                            shop:
                              type: number
                              description: Discount percentage applied to shop products.
                        endDate:
                          description: ISO timestamp when the item ends.
                          type: string
                          format: date-time
                        entire:
                          description: Whether the item grants access to the entire resource.
                          type: boolean
                        exclusiveAccess:
                          description: Resources and benefits with exclusive access.
                          type: object
                          properties:
                            benefitRefs:
                              type: array
                              items:
                                type: string
                                format: uuid
                              description: Benefit IDs with exclusive access.
                            resourceRefs:
                              type: array
                              items:
                                type: string
                                format: uuid
                              description: Resource IDs with exclusive access.
                        ezeepBlueGroupRef:
                          description: Ezeep Blue group reference.
                          nullable: true
                          type: string
                        grantedDiscounts:
                          description: Coupons granted to this item.
                          type: array
                          items:
                            type: object
                            properties:
                              coupon:
                                type: object
                                properties:
                                  amountOff:
                                    description: Fixed discount amount.
                                    type: number
                                  currencyCode:
                                    description: Currency code for amountOff.
                                    type: string
                                  id:
                                    type: string
                                    format: uuid
                                    description: Unique identifier of the coupon.
                                  percentOff:
                                    description: Percentage discount.
                                    type: number
                                  productTypes:
                                    description: Product types the coupon applies to.
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - roomBookings
                                        - eventSpaceBookings
                                        - conferenceRoomBookings
                                        - meetingRoomBookings
                                        - phoneBoothBookings
                                        - stationBookings
                                        - studioBookings
                                        - hotDeskBookings
                                        - dedicatedDeskBookings
                                        - officeBookings
                                        - parkingBookings
                                        - equipmentBookings
                                        - eventTickets
                                        - shopProducts
                                        - packages
                                        - subscriptionItems
                                required:
                                  - id
                                description: Coupon to grant.
                            required:
                              - coupon
                        kisiGroupRef:
                          description: Kisi access group reference.
                          nullable: true
                          type: number
                        plan:
                          description: Linked plan details.
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the plan.
                            title:
                              description: Display name of the plan.
                              type: string
                          required:
                            - id
                        planRef:
                          description: ID of the linked plan.
                          type: string
                          format: uuid
                        price:
                          description: Price per billing cycle.
                          type: number
                        productRef:
                          description: ID of the linked product.
                          type: string
                          format: uuid
                        quantity:
                          description: Quantity of this item.
                          type: number
                        resourceRef:
                          description: Reference to the linked resource.
                          nullable: true
                          type: string
                          format: uuid
                        saltoksAccessGroupRef:
                          description: Salto KS access group reference.
                          nullable: true
                          type: string
                        setupFee:
                          description: One-time setup fee for this item.
                          type: number
                        startDate:
                          description: ISO timestamp when the item starts.
                          type: string
                          format: date-time
                        tapkeyGroupRef:
                          description: Tapkey access group reference.
                          nullable: true
                          type: string
                        tier:
                          description: Linked tier details.
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the tier.
                            title:
                              description: Display name of the tier.
                              type: string
                          required:
                            - id
                        tierRef:
                          description: ID of the linked tier.
                          type: string
                          format: uuid
                        title:
                          description: Display title of the item.
                          type: string
                        type:
                          description: Billing type of the item.
                          type: string
                          enum:
                            - oneOff
                            - recurring
                        unifiAccessGroupRef:
                          description: UniFi Access policy reference.
                          nullable: true
                          type: string
                        id:
                          description: Unique identifier of the subscription item when updating via subscription patch.
                          type: string
                          format: uuid
                  pausePaymentCollection:
                    description: Payment collection pause settings.
                    nullable: true
                    type: object
                    properties:
                      behavior:
                        type: string
                        enum:
                          - draft
                          - void
                        description: Behavior while payment collection is paused.
                      resumesAt:
                        description: ISO timestamp when payment collection resumes.
                        type: string
                        format: date-time
                    required:
                      - behavior
                  payWithInvoice:
                    description: Invoice payment settings by product type.
                    type: object
                    properties:
                      creditPackages:
                        type: boolean
                        description: Whether credit packages are invoiced.
                      desks:
                        type: boolean
                        description: Whether desk bookings are invoiced.
                      equipment:
                        description: Whether equipment bookings are invoiced.
                        type: boolean
                      events:
                        type: boolean
                        description: Whether events are invoiced.
                      parking:
                        description: Whether parking bookings are invoiced.
                        type: boolean
                      rooms:
                        type: boolean
                        description: Whether room bookings are invoiced.
                      shop:
                        type: boolean
                        description: Whether shop purchases are invoiced.
                  startDate:
                    description: ISO timestamp when the subscription starts.
                    type: string
                    format: date-time
                description: Subscription fields to update.
            required:
              - subscription
      required: true
    createSubscriptionItem:
      content:
        application/json:
          schema:
            type: object
            properties:
              item:
                type: object
                properties:
                  autoUpdateFromProduct:
                    description: Whether the item syncs from its linked product.
                    type: boolean
                  avigilonAltaGroupRef:
                    description: Avigilon Alta access group reference.
                    nullable: true
                    type: number
                  brivoGroupRef:
                    description: Brivo access group reference.
                    nullable: true
                    type: number
                  commitmentCycles:
                    description: Number of billing cycles in the commitment period.
                    type: number
                  couponRef:
                    description: ID of the coupon applied to this item.
                    nullable: true
                    type: string
                  createDate:
                    description: ISO timestamp of when the item was created.
                    type: string
                    format: date-time
                  credits:
                    description: Credits included per billing cycle.
                    type: number
                  customEnd:
                    description: Whether the item has a custom end date.
                    type: boolean
                  customStart:
                    description: Whether the item has a custom start date.
                    type: boolean
                  customTax:
                    description: Custom tax settings for this item.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled for this item.
                      rate:
                        type: number
                        description: Custom tax rate as a decimal.
                  dayPasses:
                    description: Day passes included per billing cycle.
                    type: number
                  discounts:
                    deprecated: true
                    description: Synthetic discount percentages by product type.
                    type: object
                    properties:
                      creditPackages:
                        type: number
                        description: Discount percentage applied to credit packages.
                      desks:
                        type: number
                        description: Discount percentage applied to desk bookings.
                      equipment:
                        type: number
                        description: Discount percentage applied to equipment bookings.
                      events:
                        type: number
                        description: Discount percentage applied to event tickets.
                      rooms:
                        type: number
                        description: Discount percentage applied to room bookings.
                      shop:
                        type: number
                        description: Discount percentage applied to shop products.
                  endDate:
                    description: ISO timestamp when the item ends.
                    type: string
                    format: date-time
                  entire:
                    description: Whether the item grants access to the entire resource.
                    type: boolean
                  exclusiveAccess:
                    description: Resources and benefits with exclusive access.
                    type: object
                    properties:
                      benefitRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Benefit IDs with exclusive access.
                      resourceRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Resource IDs with exclusive access.
                  ezeepBlueGroupRef:
                    description: Ezeep Blue group reference.
                    nullable: true
                    type: string
                  grantedDiscounts:
                    description: Coupons granted to this item.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the coupon.
                            percentOff:
                              description: Percentage discount.
                              type: number
                            productTypes:
                              description: Product types the coupon applies to.
                              type: array
                              items:
                                type: string
                                enum:
                                  - roomBookings
                                  - eventSpaceBookings
                                  - conferenceRoomBookings
                                  - meetingRoomBookings
                                  - phoneBoothBookings
                                  - stationBookings
                                  - studioBookings
                                  - hotDeskBookings
                                  - dedicatedDeskBookings
                                  - officeBookings
                                  - parkingBookings
                                  - equipmentBookings
                                  - eventTickets
                                  - shopProducts
                                  - packages
                                  - subscriptionItems
                          required:
                            - id
                          description: Coupon to grant.
                      required:
                        - coupon
                  kisiGroupRef:
                    description: Kisi access group reference.
                    nullable: true
                    type: number
                  plan:
                    description: Linked plan details.
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the plan.
                      title:
                        description: Display name of the plan.
                        type: string
                    required:
                      - id
                  planRef:
                    description: ID of the linked plan.
                    type: string
                    format: uuid
                  price:
                    description: Price per billing cycle.
                    type: number
                  productRef:
                    description: ID of the linked product.
                    type: string
                    format: uuid
                  quantity:
                    description: Quantity of this item.
                    type: number
                  resourceRef:
                    description: Reference to the linked resource.
                    nullable: true
                    type: string
                    format: uuid
                  saltoksAccessGroupRef:
                    description: Salto KS access group reference.
                    nullable: true
                    type: string
                  setupFee:
                    description: One-time setup fee for this item.
                    type: number
                  startDate:
                    description: ISO timestamp when the item starts.
                    type: string
                    format: date-time
                  tapkeyGroupRef:
                    description: Tapkey access group reference.
                    nullable: true
                    type: string
                  tier:
                    description: Linked tier details.
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the tier.
                      title:
                        description: Display name of the tier.
                        type: string
                    required:
                      - id
                  tierRef:
                    description: ID of the linked tier.
                    type: string
                    format: uuid
                  title:
                    description: Display title of the item.
                    type: string
                  type:
                    description: Billing type of the item.
                    type: string
                    enum:
                      - oneOff
                      - recurring
                  unifiAccessGroupRef:
                    description: UniFi Access policy reference.
                    nullable: true
                    type: string
                description: Subscription item to create.
            required:
              - item
      required: true
    updateSubscriptionItem:
      content:
        application/json:
          schema:
            type: object
            properties:
              item:
                type: object
                properties:
                  autoUpdateFromProduct:
                    description: Whether the item syncs from its linked product.
                    type: boolean
                  avigilonAltaGroupRef:
                    description: Avigilon Alta access group reference.
                    nullable: true
                    type: number
                  brivoGroupRef:
                    description: Brivo access group reference.
                    nullable: true
                    type: number
                  commitmentCycles:
                    description: Number of billing cycles in the commitment period.
                    type: number
                  couponRef:
                    description: ID of the coupon applied to this item.
                    nullable: true
                    type: string
                  createDate:
                    description: ISO timestamp of when the item was created.
                    type: string
                    format: date-time
                  credits:
                    description: Credits included per billing cycle.
                    type: number
                  customEnd:
                    description: Whether the item has a custom end date.
                    type: boolean
                  customStart:
                    description: Whether the item has a custom start date.
                    type: boolean
                  customTax:
                    description: Custom tax settings for this item.
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: Whether custom tax is enabled for this item.
                      rate:
                        type: number
                        description: Custom tax rate as a decimal.
                  dayPasses:
                    description: Day passes included per billing cycle.
                    type: number
                  discounts:
                    deprecated: true
                    description: Synthetic discount percentages by product type.
                    type: object
                    properties:
                      creditPackages:
                        type: number
                        description: Discount percentage applied to credit packages.
                      desks:
                        type: number
                        description: Discount percentage applied to desk bookings.
                      equipment:
                        type: number
                        description: Discount percentage applied to equipment bookings.
                      events:
                        type: number
                        description: Discount percentage applied to event tickets.
                      rooms:
                        type: number
                        description: Discount percentage applied to room bookings.
                      shop:
                        type: number
                        description: Discount percentage applied to shop products.
                  endDate:
                    description: ISO timestamp when the item ends.
                    type: string
                    format: date-time
                  entire:
                    description: Whether the item grants access to the entire resource.
                    type: boolean
                  exclusiveAccess:
                    description: Resources and benefits with exclusive access.
                    type: object
                    properties:
                      benefitRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Benefit IDs with exclusive access.
                      resourceRefs:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Resource IDs with exclusive access.
                  ezeepBlueGroupRef:
                    description: Ezeep Blue group reference.
                    nullable: true
                    type: string
                  grantedDiscounts:
                    description: Coupons granted to this item.
                    type: array
                    items:
                      type: object
                      properties:
                        coupon:
                          type: object
                          properties:
                            amountOff:
                              description: Fixed discount amount.
                              type: number
                            currencyCode:
                              description: Currency code for amountOff.
                              type: string
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the coupon.
                            percentOff:
                              description: Percentage discount.
                              type: number
                            productTypes:
                              description: Product types the coupon applies to.
                              type: array
                              items:
                                type: string
                                enum:
                                  - roomBookings
                                  - eventSpaceBookings
                                  - conferenceRoomBookings
                                  - meetingRoomBookings
                                  - phoneBoothBookings
                                  - stationBookings
                                  - studioBookings
                                  - hotDeskBookings
                                  - dedicatedDeskBookings
                                  - officeBookings
                                  - parkingBookings
                                  - equipmentBookings
                                  - eventTickets
                                  - shopProducts
                                  - packages
                                  - subscriptionItems
                          required:
                            - id
                          description: Coupon to grant.
                      required:
                        - coupon
                  kisiGroupRef:
                    description: Kisi access group reference.
                    nullable: true
                    type: number
                  plan:
                    description: Linked plan details.
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the plan.
                      title:
                        description: Display name of the plan.
                        type: string
                    required:
                      - id
                  planRef:
                    description: ID of the linked plan.
                    type: string
                    format: uuid
                  price:
                    description: Price per billing cycle.
                    type: number
                  productRef:
                    description: ID of the linked product.
                    type: string
                    format: uuid
                  quantity:
                    description: Quantity of this item.
                    type: number
                  resourceRef:
                    description: Reference to the linked resource.
                    nullable: true
                    type: string
                    format: uuid
                  saltoksAccessGroupRef:
                    description: Salto KS access group reference.
                    nullable: true
                    type: string
                  setupFee:
                    description: One-time setup fee for this item.
                    type: number
                  startDate:
                    description: ISO timestamp when the item starts.
                    type: string
                    format: date-time
                  tapkeyGroupRef:
                    description: Tapkey access group reference.
                    nullable: true
                    type: string
                  tier:
                    description: Linked tier details.
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the tier.
                      title:
                        description: Display name of the tier.
                        type: string
                    required:
                      - id
                  tierRef:
                    description: ID of the linked tier.
                    type: string
                    format: uuid
                  title:
                    description: Display title of the item.
                    type: string
                  type:
                    description: Billing type of the item.
                    type: string
                    enum:
                      - oneOff
                      - recurring
                  unifiAccessGroupRef:
                    description: UniFi Access policy reference.
                    nullable: true
                    type: string
                description: Subscription item fields to update.
            required:
              - item
      required: true
    createSupportTicket:
      content:
        application/json:
          schema:
            type: object
            properties:
              ticket:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where the ticket is created.
                  text:
                    type: string
                    minLength: 1
                    description: Description text of the ticket.
                  type:
                    description: Category type of the ticket. When omitted, the type is detected from the text and administrators can change it later.
                    type: string
                    enum:
                      - access
                      - accountAndBilling
                      - bookings
                      - cleaning
                      - discriminationAndHarassment
                      - internet
                      - mailAndPackages
                      - noiseAndAcoustics
                      - offensiveOrObjectionableContent
                      - other
                      - printing
                      - repairAndMaintenance
                      - temperatureAndVentilation
                      - websiteAndApp
                  userRefRequester:
                    description: ID of the user requesting the ticket. Defaults to the authenticated user when omitted.
                    type: string
                    format: uuid
                required:
                  - locationRef
                  - text
                description: Support ticket to create.
            required:
              - ticket
      required: true
    updateSupportTicketAssignee:
      content:
        application/json:
          schema:
            type: object
            properties:
              ticket:
                type: object
                properties:
                  membershipRefAssignee:
                    deprecated: true
                    description: ID of the membership to assign the ticket to, or null to unassign. Deprecated, use userRefAssignee instead.
                    nullable: true
                    type: string
                    format: uuid
                  userRefAssignee:
                    description: ID of the user to assign the ticket to, or null to unassign.
                    nullable: true
                    type: string
                    format: uuid
                description: Ticket assignee update.
            required:
              - ticket
      required: true
    updateSupportTicketStatus:
      content:
        application/json:
          schema:
            type: object
            properties:
              ticket:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - closed
                      - inProgress
                      - new
                      - solved
                    description: New status of the ticket.
                required:
                  - status
                description: Ticket status update.
            required:
              - ticket
      required: true
    updateSupportTicketType:
      content:
        application/json:
          schema:
            type: object
            properties:
              ticket:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - access
                      - accountAndBilling
                      - bookings
                      - cleaning
                      - discriminationAndHarassment
                      - internet
                      - mailAndPackages
                      - noiseAndAcoustics
                      - offensiveOrObjectionableContent
                      - other
                      - printing
                      - repairAndMaintenance
                      - temperatureAndVentilation
                      - websiteAndApp
                    description: New category type of the ticket.
                required:
                  - type
                description: Ticket type update.
            required:
              - ticket
      required: true
    createSupportTicketComment:
      content:
        application/json:
          schema:
            type: object
            properties:
              activity:
                type: object
                properties:
                  attachments:
                    description: Attachments to include with the comment. At most one is allowed.
                    maxItems: 1
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          description: Key of a media upload whose file has been uploaded.
                      required:
                        - key
                  text:
                    description: Comment text. Either text or attachments must be provided.
                    type: string
                    minLength: 1
                  ticketRef:
                    type: string
                    format: uuid
                    description: ID of the ticket to add the comment to.
                required:
                  - ticketRef
                description: Ticket comment activity to create.
            required:
              - activity
      required: true
    updateSupportTicketComment:
      content:
        application/json:
          schema:
            type: object
            properties:
              activity:
                type: object
                properties:
                  text:
                    type: string
                    minLength: 1
                    description: New comment text.
                required:
                  - text
                description: Ticket comment activity fields to update.
            required:
              - activity
      required: true
    createSupportTicketMedia:
      content:
        application/json:
          schema:
            type: object
            properties:
              media:
                type: object
                properties:
                  height:
                    description: Height of a video in pixels, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                  mimeType:
                    type: string
                    description: MIME type of the file to upload.
                  name:
                    description: File name shown with the comment. Defaults to the storage key.
                    type: string
                    minLength: 1
                    maxLength: 255
                  size:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 52428800
                    description: Size of the file in bytes. The upload is rejected when the body length differs.
                  width:
                    description: Width of a video in pixels, which apps use to lay it out before it loads. An image's dimensions are read from the uploaded file, so this is ignored for an image.
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                required:
                  - mimeType
                  - size
                description: File to upload.
            required:
              - media
      required: true
    createCreditsTransaction:
      content:
        application/json:
          schema:
            type: object
            properties:
              transaction:
                type: object
                properties:
                  amount:
                    type: number
                    description: Credits amount. Must be greater than zero.
                  companyRef:
                    deprecated: true
                    description: Deprecated. Use customerRef instead.
                    type: string
                    format: uuid
                  customerRef:
                    description: The company or membership id to charge or transfer credits to or from.
                    type: string
                    format: uuid
                  description:
                    description: Description of the transaction.
                    type: string
                  expirationDate:
                    description: Expiration date for expiring credits.
                    type: string
                  locationRef:
                    type: string
                    format: uuid
                    description: The location id where to create the transaction.
                  membershipRef:
                    deprecated: true
                    description: Deprecated. Use customerRef instead.
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - adminAllocation
                      - adminCharge
                      - chargeExpiringCredits
                      - chargePermanentCredits
                      - transferExpiringCredits
                      - transferPermanentCredits
                    description: Transaction type. chargeExpiringCredits, chargePermanentCredits, transferExpiringCredits, and transferPermanentCredits are deprecated; use adminCharge or adminAllocation instead.
                required:
                  - amount
                  - locationRef
                  - type
                description: Credits transaction to create.
            required:
              - transaction
      required: true
    createDayPassesTransaction:
      content:
        application/json:
          schema:
            type: object
            properties:
              transaction:
                type: object
                properties:
                  amount:
                    type: number
                    description: Day pass amount. Must be greater than zero.
                  companyRef:
                    deprecated: true
                    description: Deprecated. Use customerRef instead.
                    type: string
                    format: uuid
                  customerRef:
                    description: The company or membership id to charge or transfer day passes to or from.
                    type: string
                    format: uuid
                  description:
                    description: Description of the transaction.
                    type: string
                  expirationDate:
                    description: Expiration date for expiring day passes.
                    type: string
                  locationRef:
                    type: string
                    format: uuid
                    description: The location id where to create the transaction.
                  membershipRef:
                    deprecated: true
                    description: Deprecated. Use customerRef instead.
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - adminAllocation
                      - adminCharge
                      - chargeExpiringDayPasses
                      - chargePermanentDayPasses
                      - transferExpiringDayPasses
                      - transferPermanentDayPasses
                    description: Transaction type. chargeExpiringDayPasses, chargePermanentDayPasses, transferExpiringDayPasses, and transferPermanentDayPasses are deprecated; use adminCharge or adminAllocation instead.
                required:
                  - amount
                  - locationRef
                  - type
                description: Day passes transaction to create.
            required:
              - transaction
      required: true
    createMoneyTransaction:
      content:
        application/json:
          schema:
            type: object
            properties:
              customerRef:
                type: string
                format: uuid
                description: ID of the company or user to charge.
              customerAddress:
                description: Customer billing address.
                type: object
                properties:
                  city:
                    description: City.
                    type: string
                  countryCode:
                    description: ISO country code.
                    nullable: true
                    type: string
                  line1:
                    description: Address line 1.
                    type: string
                  line2:
                    description: Address line 2.
                    type: string
                  postalCode:
                    description: Postal code.
                    type: string
                  state:
                    description: State or region.
                    type: string
              customerName:
                description: Customer legal name.
                type: string
              customerTaxId:
                description: Customer tax ID.
                type: string
              customItem:
                type: object
                properties:
                  currencyCode:
                    type: string
                    description: Custom item currency code.
                  description:
                    description: Custom item description.
                    type: string
                    minLength: 1
                  tax:
                    description: Tax details. Required when the location has tax enabled.
                    type: object
                    properties:
                      rate:
                        type: number
                        minimum: 0
                        description: Tax rate.
                    required:
                      - rate
                  unitAmount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: Custom item unit amount in major units.
                  unitQuantity:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 9007199254740991
                    description: Custom item unit quantity.
                required:
                  - currencyCode
                  - unitAmount
                  - unitQuantity
                description: Custom item to charge for.
              payment:
                type: object
                properties:
                  method:
                    type: object
                    properties:
                      external:
                        description: External payment method, recorded outside the platform.
                        type: object
                        properties:
                          paymentDate:
                            description: ISO timestamp of when the money was received. Defaults to now. Must not be in the future.
                            type: string
                            format: date-time
                      paymentGateway:
                        description: Payment gateway (card) payment method.
                        type: object
                        properties:
                          gateway:
                            type: string
                            enum:
                              - hyperpay
                              - mollie
                              - plata
                              - stripe
                              - tap
                              - wayforpay
                            description: Payment gateway provider. Only gateways that support saved payment methods can be charged.
                          id:
                            description: ID of the saved payment method to charge.
                            nullable: true
                            type: string
                            format: uuid
                        required:
                          - gateway
                      type:
                        type: string
                        enum:
                          - external
                          - paymentGateway
                        description: Selected payment method type.
                    required:
                      - type
                    description: Payment method details.
                required:
                  - method
                description: Payment details.
            required:
              - customerRef
              - customItem
              - payment
      required: true
    patchMoneyTransaction:
      content:
        application/json:
          schema:
            type: object
            properties:
              transaction:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - canceled
                      - succeeded
                    description: 'New status of the pending external payment: `succeeded` approves it, `canceled` rejects it.'
                required:
                  - status
                description: Transaction fields to update.
            required:
              - transaction
      required: true
    refundMoneyTransaction:
      content:
        application/json:
          schema:
            type: object
            properties:
              transaction:
                description: Refund options for the transaction.
                type: object
                properties:
                  amount:
                    description: Amount to refund in major units. Defaults to the full refundable amount.
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
      required: false
    createContact:
      content:
        application/json:
          schema:
            type: object
            properties:
              contact:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location associated with the contact.
                  visitor:
                    type: object
                    properties:
                      email:
                        type: string
                        minLength: 1
                        description: Visitor email address.
                      name:
                        type: string
                        minLength: 1
                        description: Visitor first name.
                      phoneNumber:
                        description: Visitor phone number.
                        type: string
                      surname:
                        description: Visitor surname.
                        type: string
                    required:
                      - email
                      - name
                    description: Visitor details.
                required:
                  - locationRef
                  - visitor
                description: Contact to create.
            required:
              - contact
      required: true
    createVisitRequest:
      content:
        application/json:
          schema:
            type: object
            properties:
              request:
                type: object
                properties:
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location for the visit request.
                  userRefHost:
                    type: string
                    format: uuid
                    description: ID of the host user for the visit request.
                  visitor:
                    type: object
                    properties:
                      email:
                        type: string
                        minLength: 1
                        description: Visitor email address.
                      name:
                        type: string
                        minLength: 1
                        description: Visitor first name.
                      phoneNumber:
                        description: Visitor phone number.
                        type: string
                      surname:
                        description: Visitor surname.
                        type: string
                    required:
                      - email
                      - name
                    description: Visitor details for the visit request.
                required:
                  - locationRef
                  - userRefHost
                  - visitor
                description: Visit request to create.
            required:
              - request
      required: true
    createVisit:
      content:
        application/json:
          schema:
            type: object
            properties:
              visit:
                type: object
                properties:
                  comment:
                    description: Optional comment on the visit.
                    type: string
                  date:
                    type: string
                    format: date-time
                    description: ISO timestamp of the scheduled visit date.
                  locationRef:
                    type: string
                    format: uuid
                    description: ID of the location where the visit takes place.
                  visitor:
                    type: object
                    properties:
                      email:
                        type: string
                        minLength: 1
                        description: Visitor email address.
                      name:
                        type: string
                        minLength: 1
                        description: Visitor first name.
                      phoneNumber:
                        description: Visitor phone number.
                        type: string
                      surname:
                        description: Visitor surname.
                        type: string
                    required:
                      - email
                      - name
                    description: Visitor details.
                required:
                  - date
                  - locationRef
                  - visitor
                description: Visit to create.
            required:
              - visit
      required: true
    updateVisit:
      content:
        application/json:
          schema:
            type: object
            properties:
              visit:
                type: object
                properties:
                  comment:
                    description: Optional comment on the visit.
                    type: string
                  date:
                    type: string
                    format: date-time
                    description: ISO timestamp of the scheduled visit date.
                required:
                  - date
                description: Visit fields to update.
            required:
              - visit
      required: true
    checkInVisit:
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: string
                description: Visit access code.
              locationRef:
                type: string
                format: uuid
                description: ID of the location where the visit takes place.
            required:
              - code
              - locationRef
      required: true
