{
  "@context": {
    "@vocab": "https://ai2fin.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "ai2fin": "https://ai2fin.com/schema#",
    "User": "ai2fin:User",
    "id": {
      "@id": "ai2fin:id",
      "@type": "xsd:string"
    },
    "email": {
      "@id": "ai2fin:email",
      "@type": "xsd:string"
    },
    "firstName": {
      "@id": "ai2fin:firstName",
      "@type": "xsd:string"
    },
    "lastName": {
      "@id": "ai2fin:lastName",
      "@type": "xsd:string"
    },
    "businessType": {
      "@id": "ai2fin:businessType",
      "@type": "xsd:string"
    },
    "countryCode": {
      "@id": "ai2fin:countryCode",
      "@type": "xsd:string"
    },
    "emailVerified": {
      "@id": "ai2fin:emailVerified",
      "@type": "xsd:boolean"
    },
    "AuthResponse": "ai2fin:AuthResponse",
    "success": {
      "@id": "ai2fin:success",
      "@type": "xsd:boolean"
    },
    "token": {
      "@id": "ai2fin:token",
      "@type": "xsd:string"
    },
    "user": {
      "@id": "ai2fin:user",
      "@type": "@id"
    },
    "BankTransaction": "ai2fin:BankTransaction",
    "date": {
      "@id": "ai2fin:date",
      "@type": "xsd:dateTime"
    },
    "description": {
      "@id": "ai2fin:description",
      "@type": "xsd:string"
    },
    "amount": {
      "@id": "ai2fin:amount",
      "@type": "xsd:decimal"
    },
    "type": {
      "@id": "ai2fin:type",
      "@type": "xsd:string"
    },
    "categoryId": {
      "@id": "ai2fin:categoryId",
      "@type": "xsd:string"
    },
    "category": {
      "@id": "ai2fin:category",
      "@type": "@id"
    },
    "merchant": {
      "@id": "ai2fin:merchant",
      "@type": "xsd:string"
    },
    "isTaxDeductible": {
      "@id": "ai2fin:isTaxDeductible",
      "@type": "xsd:boolean"
    },
    "businessUsePercentage": {
      "@id": "ai2fin:businessUsePercentage",
      "@type": "xsd:decimal"
    },
    "gstAmount": {
      "@id": "ai2fin:gstAmount",
      "@type": "xsd:decimal"
    },
    "gstRate": {
      "@id": "ai2fin:gstRate",
      "@type": "xsd:decimal"
    },
    "gstIncluded": {
      "@id": "ai2fin:gstIncluded",
      "@type": "xsd:boolean"
    },
    "BankTransactionInput": "ai2fin:BankTransactionInput",
    "ChatConversation": "ai2fin:ChatConversation",
    "title": {
      "@id": "ai2fin:title",
      "@type": "xsd:string"
    },
    "messageCount": {
      "@id": "ai2fin:messageCount",
      "@type": "xsd:integer"
    },
    "createdAt": {
      "@id": "ai2fin:createdAt",
      "@type": "xsd:dateTime"
    },
    "updatedAt": {
      "@id": "ai2fin:updatedAt",
      "@type": "xsd:dateTime"
    },
    "ChatMessage": "ai2fin:ChatMessage",
    "conversationId": {
      "@id": "ai2fin:conversationId",
      "@type": "xsd:string"
    },
    "role": {
      "@id": "ai2fin:role",
      "@type": "xsd:string"
    },
    "content": {
      "@id": "ai2fin:content",
      "@type": "xsd:string"
    },
    "toolsUsed": {
      "@id": "ai2fin:toolsUsed",
      "@container": "@list"
    },
    "ChatFile": "ai2fin:ChatFile",
    "assetUrl": {
      "@id": "ai2fin:assetUrl",
      "@type": "xsd:string"
    },
    "fileName": {
      "@id": "ai2fin:fileName",
      "@type": "xsd:string"
    },
    "mimeType": {
      "@id": "ai2fin:mimeType",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "ai2fin:size",
      "@type": "xsd:integer"
    },
    "ReceiptExtractedData": "ai2fin:ReceiptExtractedData",
    "dateISO": {
      "@id": "ai2fin:dateISO",
      "@type": "xsd:date"
    },
    "currency": {
      "@id": "ai2fin:currency",
      "@type": "xsd:string"
    },
    "total": {
      "@id": "ai2fin:total",
      "@type": "xsd:decimal"
    },
    "tax": {
      "@id": "ai2fin:tax",
      "@type": "xsd:decimal"
    },
    "tip": {
      "@id": "ai2fin:tip",
      "@type": "xsd:decimal"
    },
    "lineItems": {
      "@id": "ai2fin:lineItems",
      "@container": "@list"
    },
    "ReceiptAnalysis": "ai2fin:ReceiptAnalysis",
    "extracted": {
      "@id": "ai2fin:extracted",
      "@type": "@id"
    },
    "candidates": {
      "@id": "ai2fin:candidates",
      "@container": "@list"
    },
    "asset": {
      "@id": "ai2fin:asset"
    },
    "TaxRate": "ai2fin:TaxRate",
    "taxType": {
      "@id": "ai2fin:taxType",
      "@type": "xsd:string"
    },
    "taxName": {
      "@id": "ai2fin:taxName",
      "@type": "xsd:string"
    },
    "standardRate": {
      "@id": "ai2fin:standardRate",
      "@type": "xsd:decimal"
    },
    "reducedRate": {
      "@id": "ai2fin:reducedRate",
      "@type": "xsd:decimal"
    },
    "zeroRate": {
      "@id": "ai2fin:zeroRate",
      "@type": "xsd:decimal"
    },
    "combinedRate": {
      "@id": "ai2fin:combinedRate",
      "@type": "xsd:decimal"
    },
    "stateProvince": {
      "@id": "ai2fin:stateProvince",
      "@type": "xsd:string"
    },
    "TaxCalculationResult": "ai2fin:TaxCalculationResult",
    "baseAmount": {
      "@id": "ai2fin:baseAmount",
      "@type": "xsd:decimal"
    },
    "input": {
      "@id": "ai2fin:input"
    },
    "Bill": "ai2fin:Bill",
    "name": {
      "@id": "ai2fin:name",
      "@type": "xsd:string"
    },
    "dueDate": {
      "@id": "ai2fin:dueDate",
      "@type": "xsd:date"
    },
    "paid": {
      "@id": "ai2fin:paid",
      "@type": "xsd:boolean"
    },
    "recurring": {
      "@id": "ai2fin:recurring",
      "@type": "xsd:boolean"
    },
    "BillInput": "ai2fin:BillInput",
    "notes": {
      "@id": "ai2fin:notes",
      "@type": "xsd:string"
    },
    "BillPattern": "ai2fin:BillPattern",
    "frequency": {
      "@id": "ai2fin:frequency",
      "@type": "xsd:string"
    },
    "startDate": {
      "@id": "ai2fin:startDate",
      "@type": "xsd:date"
    },
    "endDate": {
      "@id": "ai2fin:endDate",
      "@type": "xsd:date"
    },
    "isActive": {
      "@id": "ai2fin:isActive",
      "@type": "xsd:boolean"
    },
    "occurrences": {
      "@id": "ai2fin:occurrences",
      "@container": "@list"
    },
    "BillPatternInput": "ai2fin:BillPatternInput",
    "dayOfMonth": {
      "@id": "ai2fin:dayOfMonth",
      "@type": "xsd:integer"
    },
    "Expense": "ai2fin:Expense",
    "taxDeductions": {
      "@id": "ai2fin:taxDeductions",
      "@container": "@list"
    },
    "Category": "ai2fin:Category",
    "icon": {
      "@id": "ai2fin:icon",
      "@type": "xsd:string"
    },
    "color": {
      "@id": "ai2fin:color",
      "@type": "xsd:string"
    },
    "taxCategory": {
      "@id": "ai2fin:taxCategory",
      "@type": "xsd:string"
    },
    "defaultGstRate": {
      "@id": "ai2fin:defaultGstRate",
      "@type": "xsd:decimal"
    },
    "CategoryInput": "ai2fin:CategoryInput",
    "CategorySet": "ai2fin:CategorySet",
    "userId": {
      "@id": "ai2fin:userId",
      "@type": "xsd:string"
    },
    "isDefault": {
      "@id": "ai2fin:isDefault",
      "@type": "xsd:boolean"
    },
    "categoryCount": {
      "@id": "ai2fin:categoryCount",
      "@type": "xsd:integer"
    },
    "categories": {
      "@id": "ai2fin:categories",
      "@container": "@list"
    },
    "TransactionCategory": "ai2fin:TransactionCategory",
    "transactionId": {
      "@id": "ai2fin:transactionId",
      "@type": "xsd:string"
    },
    "categorySetId": {
      "@id": "ai2fin:categorySetId",
      "@type": "xsd:string"
    },
    "isPrimary": {
      "@id": "ai2fin:isPrimary",
      "@type": "xsd:boolean"
    },
    "confidence": {
      "@id": "ai2fin:confidence",
      "@type": "xsd:decimal"
    },
    "assignedBy": {
      "@id": "ai2fin:assignedBy",
      "@type": "xsd:string"
    },
    "assignedAt": {
      "@id": "ai2fin:assignedAt",
      "@type": "xsd:dateTime"
    },
    "TransactionFieldHistory": "ai2fin:TransactionFieldHistory",
    "entityType": {
      "@id": "ai2fin:entityType",
      "@type": "xsd:string"
    },
    "entityId": {
      "@id": "ai2fin:entityId",
      "@type": "xsd:string"
    },
    "fieldName": {
      "@id": "ai2fin:fieldName",
      "@type": "xsd:string"
    },
    "oldValue": {
      "@id": "ai2fin:oldValue",
      "@type": "xsd:string"
    },
    "newValue": {
      "@id": "ai2fin:newValue",
      "@type": "xsd:string"
    },
    "changeReason": {
      "@id": "ai2fin:changeReason",
      "@type": "xsd:string"
    },
    "changedBy": {
      "@id": "ai2fin:changedBy",
      "@type": "xsd:string"
    },
    "changeSource": {
      "@id": "ai2fin:changeSource",
      "@type": "xsd:string"
    },
    "CustomRule": "ai2fin:CustomRule",
    "conditions": {
      "@id": "ai2fin:conditions",
      "@container": "@list"
    },
    "actions": {
      "@id": "ai2fin:actions",
      "@container": "@list"
    },
    "priority": {
      "@id": "ai2fin:priority",
      "@type": "xsd:integer"
    },
    "CustomRuleInput": "ai2fin:CustomRuleInput",
    "autoExecute": {
      "@id": "ai2fin:autoExecute",
      "@type": "xsd:boolean"
    },
    "AnalyticsSummary": "ai2fin:AnalyticsSummary",
    "totalIncome": {
      "@id": "ai2fin:totalIncome",
      "@type": "xsd:decimal"
    },
    "totalExpenses": {
      "@id": "ai2fin:totalExpenses",
      "@type": "xsd:decimal"
    },
    "netProfit": {
      "@id": "ai2fin:netProfit",
      "@type": "xsd:decimal"
    },
    "taxDeductible": {
      "@id": "ai2fin:taxDeductible",
      "@type": "xsd:decimal"
    },
    "categoryBreakdown": {
      "@id": "ai2fin:categoryBreakdown",
      "@container": "@list"
    },
    "monthlyTrends": {
      "@id": "ai2fin:monthlyTrends",
      "@container": "@list"
    },
    "SubscriptionStatus": "ai2fin:SubscriptionStatus",
    "tier": {
      "@id": "ai2fin:tier",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "ai2fin:status",
      "@type": "xsd:string"
    },
    "quotas": {
      "@id": "ai2fin:quotas"
    },
    "expiryDate": {
      "@id": "ai2fin:expiryDate",
      "@type": "xsd:dateTime"
    },
    "VehicleInput": "ai2fin:VehicleInput",
    "make": {
      "@id": "ai2fin:make",
      "@type": "xsd:string"
    },
    "model": {
      "@id": "ai2fin:model",
      "@type": "xsd:string"
    },
    "year": {
      "@id": "ai2fin:year",
      "@type": "xsd:integer"
    },
    "registrationNumber": {
      "@id": "ai2fin:registrationNumber",
      "@type": "xsd:string"
    },
    "TripInput": "ai2fin:TripInput",
    "vehicleId": {
      "@id": "ai2fin:vehicleId",
      "@type": "xsd:string"
    },
    "distance": {
      "@id": "ai2fin:distance",
      "@type": "xsd:decimal"
    },
    "purpose": {
      "@id": "ai2fin:purpose",
      "@type": "xsd:string"
    },
    "startLocation": {
      "@id": "ai2fin:startLocation",
      "@type": "xsd:string"
    },
    "endLocation": {
      "@id": "ai2fin:endLocation",
      "@type": "xsd:string"
    },
    "Pagination": "ai2fin:Pagination",
    "page": {
      "@id": "ai2fin:page",
      "@type": "xsd:integer"
    },
    "limit": {
      "@id": "ai2fin:limit",
      "@type": "xsd:integer"
    },
    "pages": {
      "@id": "ai2fin:pages",
      "@type": "xsd:integer"
    },
    "Error": "ai2fin:Error",
    "error": {
      "@id": "ai2fin:error",
      "@type": "xsd:string"
    },
    "code": {
      "@id": "ai2fin:code",
      "@type": "xsd:string"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "AI2Fin API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects AI2Fin's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-01) from openapi/ai2fin-com-openapi.json.",
  "dcterms:created": "2026-11-01",
  "dcterms:source": [
    "openapi/ai2fin-com-openapi.json"
  ]
}