name: Tables
description: |-

  APIs for managing restaurant tables for POS
endpoints:
  -
    custom: []
    httpMethods:
      - GET
    uri: api/v1/tenant/tables
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'List Tables'
      description: 'Get all tables with their current status'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters: []
    cleanUrlParameters: []
    queryParameters:
      status:
        custom: []
        name: status
        description: 'Filter by status (available, occupied, reserved, cleaning).'
        required: false
        example: available
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
      area_id:
        custom: []
        name: area_id
        description: 'Filter by area.'
        required: false
        example: 1
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanQueryParameters:
      status: available
      area_id: 1
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        custom: []
        status: 200
        content: |-
          {
            "success": true,
            "data": []
          }
        headers: []
        description: ''
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - GET
    uri: 'api/v1/tenant/tables/{id}'
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Get Single Table'
      description: 'Get table details with current order if any'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'Table ID.'
        required: true
        example: 1
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: 1
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        custom: []
        status: 401
        content: '{"message":"Unauthenticated."}'
        headers:
          cache-control: 'no-cache, private'
          content-type: application/json
          access-control-allow-origin: '*'
        description: null
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - POST
    uri: 'api/v1/tenant/tables/{id}/status'
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Update Table Status'
      description: 'Update table status (for marking as cleaning, etc.)'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'Table ID.'
        required: true
        example: 1
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: 1
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      status:
        custom: []
        name: status
        description: 'New status (available, occupied, reserved, cleaning).'
        required: true
        example: cleaning
        type: string
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanBodyParameters:
      status: cleaning
    fileParameters: []
    responses:
      -
        custom: []
        status: 200
        content: |-
          {
            "success": true,
            "message": "Table status updated",
            "data": {}
          }
        headers: []
        description: ''
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - POST
    uri: api/v1/tenant/tables
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Create Table'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters: []
    cleanUrlParameters: []
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      table_number:
        custom: []
        name: table_number
        description: 'Must not be greater than 50 characters.'
        required: true
        example: b
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      capacity:
        custom: []
        name: capacity
        description: 'Must be at least 1.'
        required: true
        example: 22
        type: integer
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      area_id:
        custom: []
        name: area_id
        description: 'The <code>id</code> of an existing record in the areas table.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
    cleanBodyParameters:
      table_number: b
      capacity: 22
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - PUT
    uri: 'api/v1/tenant/tables/{id}'
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Update Table'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'The ID of the table.'
        required: true
        example: architecto
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: architecto
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      table_number:
        custom: []
        name: table_number
        description: 'Must not be greater than 50 characters.'
        required: false
        example: b
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      capacity:
        custom: []
        name: capacity
        description: 'Must be at least 1.'
        required: false
        example: 22
        type: integer
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      area_id:
        custom: []
        name: area_id
        description: 'The <code>id</code> of an existing record in the areas table.'
        required: false
        example: null
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
    cleanBodyParameters:
      table_number: b
      capacity: 22
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - DELETE
    uri: 'api/v1/tenant/tables/{id}'
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Delete Table'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'The ID of the table.'
        required: true
        example: architecto
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: architecto
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - GET
    uri: api/v1/tenant/pos/tables/available
    metadata:
      custom: []
      groupName: Tables
      groupDescription: |-

        APIs for managing restaurant tables for POS
      subgroup: ''
      subgroupDescription: ''
      title: 'Get Available Tables'
      description: 'Quick endpoint to get only available tables for POS'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters: []
    cleanUrlParameters: []
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        custom: []
        status: 200
        content: |-
          {
            "success": true,
            "data": []
          }
        headers: []
        description: ''
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
