{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api.horizon360.toro.com/schemas/customer",
  "title": "Customer",
  "description": "A customer account for a landscape contractor in Toro Horizon360",
  "type": "object",
  "required": ["id", "name"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique customer identifier"
    },
    "name": {
      "type": "string",
      "description": "Customer full name or business name"
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "Customer email address"
    },
    "phone": {
      "type": "string",
      "description": "Customer phone number"
    },
    "address": {
      "$ref": "#/definitions/Address"
    },
    "notes": {
      "type": "string",
      "description": "Additional notes about the customer"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time the record was created"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time the record was last updated"
    }
  },
  "definitions": {
    "Address": {
      "type": "object",
      "description": "Physical address",
      "properties": {
        "street": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "zip": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "default": "US"
        }
      }
    }
  }
}
