{
  "@context": {
    "@version": 1.1,
    "schema": "https://schema.org/",
    "toro": "https://api.horizon360.toro.com/vocab#",
    "xsd": "http://www.w3.org/2001/XMLSchema#",

    "Customer": "schema:Person",
    "id": "@id",
    "name": "schema:name",
    "email": "schema:email",
    "phone": "schema:telephone",
    "address": "schema:address",
    "street": "schema:streetAddress",
    "city": "schema:addressLocality",
    "state": "schema:addressRegion",
    "zip": "schema:postalCode",
    "country": "schema:addressCountry",
    "createdAt": "schema:dateCreated",
    "updatedAt": "schema:dateModified",
    "notes": "schema:description",

    "Job": "schema:Action",
    "customerId": "schema:agent",
    "title": "schema:name",
    "description": "schema:description",
    "status": "toro:jobStatus",
    "jobType": "toro:serviceType",
    "serviceAddress": "schema:location",
    "estimatedHours": "toro:estimatedDuration",
    "actualHours": "toro:actualDuration",
    "scheduledDate": "schema:scheduledTime",
    "completedDate": "schema:endTime",
    "crewId": "toro:assignedCrew",

    "Invoice": "schema:Invoice",
    "invoiceNumber": "schema:confirmationNumber",
    "lineItems": "schema:itemListElement",
    "subtotal": "schema:price",
    "tax": "toro:taxAmount",
    "total": "schema:totalPrice",
    "dueDate": "toro:paymentDueDate",

    "Equipment": "schema:Product",
    "brand": "schema:brand",
    "model": "schema:model",
    "serialNumber": "schema:serialNumber",
    "purchaseDate": "schema:purchaseDate",
    "hoursUsed": "toro:equipmentHours",

    "IrrigationZone": "toro:IrrigationZone",
    "zoneId": "@id",
    "soilMoisture": "toro:soilMoisture",
    "flowRateGpm": "toro:flowRate",
    "lastWateredAt": "toro:lastIrrigated",
    "nextScheduledAt": "toro:nextIrrigationSchedule",

    "SensorReading": "schema:Observation",
    "value": "schema:value",
    "unit": "schema:unitText",
    "timestamp": "schema:dateObserved",

    "Payment": "schema:PayAction",
    "amount": "schema:totalPaymentDue",
    "currency": "schema:currency",
    "paymentMethod": "schema:paymentMethod",
    "transactionId": "schema:identifier",
    "processedAt": "schema:endTime"
  }
}
