openapi: 3.0.3 info: title: Eat App Platform Concierge - Availability Tables and Floor Plans (Modeled) API description: 'Eat App is a restaurant reservation and table management platform. This document models its two documented, partner/key-gated REST surfaces plus a small honestly-modeled table-management surface: 1. Partner API (base /partners/v2) - for booking channels to read availability and post reservations. 2. Concierge API (base /concierge/v2) - for restaurants, vendors, and groups to sync reservations, guests, availability, and reference data (resources, groups, restaurants). Requests are scoped with X-Group-ID and X-Restaurant-ID headers and can be created idempotently via an idempotency_token. 3. Tables and Floor Plans (base /concierge/v2) - MODELED. No public tables or floorplan endpoints are documented; these operations are honestly modeled on Eat App''s documented resource conventions and should be confirmed with a partner API key before use. All responses follow a JSON:API-style structure (data objects carrying id, type, and attributes). Every request is authenticated with a Bearer token (the API key Eat App issues to a partner or Concierge user). The sandbox host is https://api.eat-sandbox.co and production is https://api.eatapp.co. Endpoints are rate limited to roughly 60 requests per minute.' version: '2.0' contact: name: Eat App url: https://eatapp.co servers: - url: https://api.eatapp.co description: Production - url: https://api.eat-sandbox.co description: Sandbox security: - bearerAuth: [] tags: - name: Tables and Floor Plans (Modeled) description: Honestly-modeled table and floor-plan operations. Not documented in the public Partner or Concierge references; confirm before use. paths: /concierge/v2/tables: get: operationId: listTables tags: - Tables and Floor Plans (Modeled) summary: List tables (MODELED) description: MODELED, not documented. Lists the tables configured for a restaurant. Confirm the real path and shape with a partner API key before use. parameters: - $ref: '#/components/parameters/RestaurantIdHeader' responses: '200': description: A JSON:API document of tables. content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': $ref: '#/components/responses/Unauthorized' /concierge/v2/tables/{table_id}: get: operationId: getTable tags: - Tables and Floor Plans (Modeled) summary: Get a table (MODELED) description: MODELED, not documented. Retrieves a single table by id. parameters: - name: table_id in: path required: true schema: type: string - $ref: '#/components/parameters/RestaurantIdHeader' responses: '200': description: The requested table. content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /concierge/v2/floor_plans: get: operationId: listFloorPlans tags: - Tables and Floor Plans (Modeled) summary: List floor plans (MODELED) description: MODELED, not documented. Lists the floor plans (dining areas / room layouts) configured for a restaurant. Confirm before use. parameters: - $ref: '#/components/parameters/RestaurantIdHeader' responses: '200': description: A JSON:API document of floor plans. content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Missing or invalid Bearer token. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: RestaurantIdHeader: name: X-Restaurant-ID in: header required: true schema: type: string description: Scopes the request to a specific restaurant. schemas: ResourceObject: type: object properties: id: type: string type: type: string attributes: type: object additionalProperties: true Error: type: object properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string GenericResponse: type: object properties: data: oneOf: - $ref: '#/components/schemas/ResourceObject' - type: array items: $ref: '#/components/schemas/ResourceObject' securitySchemes: bearerAuth: type: http scheme: bearer description: 'Bearer token (the API key Eat App issues to a partner or Concierge user). Sent as Authorization: Bearer .'