Initial Ladill Frontdesk release with deploy pipeline.
Visitor management app with SSO, kiosk, badges, reports, and Gitea CI deploy to frontdesk.ladill.com. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
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
|
||||
Reference in New Issue
Block a user