{
  "claimId": {
    "name": "claimId",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Unique identifier generated for the claim"
  },
  "mealsCost": {
    "name": "mealsCost",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Meals and food expenses claimed"
  },
  "otherCost": {
    "name": "otherCost",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Other miscellaneous expenses claimed"
  },
  "totalCost": {
    "name": "totalCost",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Total amount claimed (calculated)"
  },
  "approvedBy": {
    "name": "approvedBy",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Who approved the claim (System/Manager name)"
  },
  "department": {
    "name": "department",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Employee's department name"
  },
  "returnDate": {
    "name": "returnDate",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Trip return date in ISO format"
  },
  "travelType": {
    "name": "travelType",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Primary mode of transportation (flight, train, car, bus)"
  },
  "destination": {
    "name": "destination",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Travel destination city and country"
  },
  "hasReceipts": {
    "name": "hasReceipts",
    "type": "boolean",
    "scope": "global",
    "value": false,
    "description": "Whether employee has all supporting receipts"
  },
  "tripPurpose": {
    "name": "tripPurpose",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Purpose or reason for the business trip"
  },
  "allowedMeals": {
    "name": "allowedMeals",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Maximum allowed meals reimbursement per policy"
  },
  "allowedOther": {
    "name": "allowedOther",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Maximum allowed other expenses reimbursement per policy"
  },
  "claimSummary": {
    "name": "claimSummary",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Formatted summary string of the travel claim"
  },
  "employeeName": {
    "name": "employeeName",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Full name of the employee submitting the claim"
  },
  "isOverBudget": {
    "name": "isOverBudget",
    "type": "boolean",
    "scope": "global",
    "value": false,
    "description": "Whether claimed amount exceeds policy limits"
  },
  "totalAllowed": {
    "name": "totalAllowed",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Total allowed reimbursement according to company policy"
  },
  "tripDuration": {
    "name": "tripDuration",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Trip duration in days (calculated)"
  },
  "departureDate": {
    "name": "departureDate",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Trip departure date in ISO format"
  },
  "employeeEmail": {
    "name": "employeeEmail",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Email address of the employee for notifications"
  },
  "storageResult": {
    "name": "storageResult",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Result of storing claim in database (success/error)"
  },
  "transportCost": {
    "name": "transportCost",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Transportation expenses claimed"
  },
  "approvalStatus": {
    "name": "approvalStatus",
    "type": "string",
    "scope": "global",
    "value": "pending",
    "description": "Current approval status (pending_approval, auto_approved, etc.)"
  },
  "approvedAmount": {
    "name": "approvedAmount",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Final approved reimbursement amount"
  },
  "policyApiError": {
    "name": "policyApiError",
    "type": "object",
    "scope": "global",
    "value": null,
    "description": "Error from policy API if request fails"
  },
  "managerComments": {
    "name": "managerComments",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Manager's comments on the approval decision"
  },
  "managerDecision": {
    "name": "managerDecision",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Manager's approval decision (approve/reject)"
  },
  "validationError": {
    "name": "validationError",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Validation error message if submission is invalid"
  },
  "allowedTransport": {
    "name": "allowedTransport",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Maximum allowed transportation reimbursement per policy"
  },
  "approvalComments": {
    "name": "approvalComments",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Final approval comments"
  },
  "finalClaimRecord": {
    "name": "finalClaimRecord",
    "type": "object",
    "scope": "global",
    "value": null,
    "description": "Complete claim record object for storage/archival"
  },
  "overBudgetAmount": {
    "name": "overBudgetAmount",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Amount by which claim exceeds policy limits"
  },
  "accommodationCost": {
    "name": "accommodationCost",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Accommodation expenses claimed"
  },
  "approvalTimestamp": {
    "name": "approvalTimestamp",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "ISO timestamp when claim was approved/rejected"
  },
  "isValidSubmission": {
    "name": "isValidSubmission",
    "type": "boolean",
    "scope": "global",
    "value": false,
    "description": "Whether the form submission passed validation"
  },
  "policyApiResponse": {
    "name": "policyApiResponse",
    "type": "object",
    "scope": "global",
    "value": null,
    "description": "Response from company policy rates API"
  },
  "finalApprovalStatus": {
    "name": "finalApprovalStatus",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "Final approval status after all reviews (approved/rejected)"
  },
  "reimbursementAmount": {
    "name": "reimbursementAmount",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Final calculated reimbursement amount"
  },
  "submissionTimestamp": {
    "name": "submissionTimestamp",
    "type": "string",
    "scope": "global",
    "value": "",
    "description": "ISO timestamp when claim was submitted"
  },
  "allowedAccommodation": {
    "name": "allowedAccommodation",
    "type": "number",
    "scope": "global",
    "value": 0,
    "description": "Maximum allowed accommodation reimbursement per policy"
  }
}
