{
  "apiBase": "/api/pilot",
  "company": "personnel",
  "time": {"stored": "UTC ISO 8601", "display": "Africa/Harare", "crossDay": true},
  "money": {"input": "decimal amount", "stored": "minor currency units", "serverOutput": "two decimal places"},
  "endpoints": {"session": "GET /session?company=personnel", "login": "POST /login", "health": "GET /health", "orders": "GET|POST /personnel/orders", "mediaInit": "POST /personnel/media/init"},
  "media": {"maxBytes": 26214400, "acceptedTypes": ["image/jpeg", "image/png", "image/webp", "video/mp4", "video/webm"], "stages": ["dispatch", "arrival", "timesheet", "performance", "acceptance"], "objectKeyExposed": false},
  "mappings": {
    "order": {"clientName":"personnel_orders.client_name", "contractRef":"personnel_orders.contract_ref", "site":"personnel_orders.site", "serviceDate":"personnel_orders.service_date", "shiftName":"personnel_orders.shift_name", "requestedPeople":"personnel_orders.requested_people", "roleName":"personnel_orders.role_name", "currency":"personnel_orders.currency", "clientHourRate":"personnel_orders.client_hour_rate_minor", "labourHourCost":"personnel_orders.labour_hour_cost_minor", "budgetAmount":"personnel_orders.budget_amount_minor", "notes":"personnel_orders.notes"},
    "assignment": {"personnelCode":"personnel_assignments.personnel_code", "displayName":"personnel_assignments.display_name", "roleName":"personnel_assignments.role_name", "qualificationStatus":"personnel_assignments.qualification_status"},
    "timesheet": {"assignmentId":"personnel_timesheets.assignment_id", "startedAt":"personnel_timesheets.started_at", "endedAt":"personnel_timesheets.ended_at", "breakMinutes":"personnel_timesheets.break_minutes", "attendance":"personnel_timesheets.attendance", "overtimeMinutes":"personnel_timesheets.overtime_minutes", "overtimeStatus":"personnel_timesheets.overtime_status", "replacementNote":"personnel_timesheets.replacement_note"},
    "media": {"stage":"personnel_media.stage", "purpose":"personnel_media.purpose", "originalName":"personnel_media.original_name", "contentType":"personnel_media.content_type", "sizeBytes":"personnel_media.size_bytes", "durationSeconds":"personnel_media.duration_seconds", "description":"personnel_media.description", "capturedAt":"personnel_media.captured_at", "status":"personnel_media.status", "failureReason":"personnel_media.failure_reason"}
  }
}
