openapi: 3.0.3 info: title: Ladill Frontdesk API version: 1.0.0 description: Internal service API for sibling Ladill apps. servers: - url: /api security: - bearerAuth: [] paths: /visits: get: summary: List visits parameters: - in: query name: owner required: true schema: type: string - in: query name: status schema: type: string responses: '200': description: Paginated visits post: summary: Create or schedule a visit requestBody: required: true content: application/json: schema: type: object required: [organization_id, full_name, visitor_type] properties: organization_id: type: integer external_ref: type: string schedule: type: boolean full_name: type: string visitor_type: type: string integration_metadata: type: object responses: '201': description: Visit created /visits/{visit}/checkout: post: summary: Check out a visit parameters: - in: query name: owner required: true schema: type: string responses: '200': description: Visit checked out /devices/heartbeat: post: summary: Device heartbeat security: [] parameters: - in: header name: X-Device-Token required: true schema: type: string responses: '200': description: Device marked online /kiosk/offline-sync: post: summary: Replay queued offline kiosk check-in security: [] requestBody: required: true content: application/json: schema: type: object required: [client_id, payload] properties: client_id: type: string format: uuid payload: type: object responses: '201': description: Check-in synced components: securitySchemes: bearerAuth: type: http scheme: bearer