{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Customer",
  "type": "object",
  "properties": {
    "@odata.etag": {
      "type": "string",
      "description": "ETag for concurrency control"
    },
    "id": {
      "type": "string",
      "description": "The unique identifier of the customer"
    },
    "number": {
      "type": "string",
      "description": "The customer number"
    },
    "displayName": {
      "type": "string",
      "description": "The customer display name"
    },
    "type": {
      "type": "string",
      "description": "The customer type"
    },
    "addressLine1": {
      "type": "string",
      "description": "First line of the address"
    },
    "addressLine2": {
      "type": "string",
      "description": "Second line of the address"
    },
    "city": {
      "type": "string",
      "description": "The city"
    },
    "state": {
      "type": "string",
      "description": "The state or province code"
    },
    "country": {
      "type": "string",
      "description": "The country/region code"
    },
    "postalCode": {
      "type": "string",
      "description": "The postal code"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The phone number"
    },
    "email": {
      "type": "string",
      "description": "The email address"
    },
    "website": {
      "type": "string",
      "description": "The website URL"
    },
    "salespersonCode": {
      "type": "string",
      "description": "The salesperson code"
    },
    "balanceDue": {
      "type": "number",
      "description": "The balance due from the customer"
    },
    "creditLimit": {
      "type": "number",
      "description": "The credit limit"
    },
    "taxLiable": {
      "type": "boolean",
      "description": "Whether the customer is tax liable"
    },
    "taxAreaId": {
      "type": "string",
      "description": "The tax area ID"
    },
    "taxAreaDisplayName": {
      "type": "string",
      "description": "The tax area display name"
    },
    "taxRegistrationNumber": {
      "type": "string",
      "description": "The tax registration number"
    },
    "currencyId": {
      "type": "string",
      "description": "The currency ID"
    },
    "currencyCode": {
      "type": "string",
      "description": "The currency code"
    },
    "paymentTermsId": {
      "type": "string",
      "description": "The payment terms ID"
    },
    "shipmentMethodId": {
      "type": "string",
      "description": "The shipment method ID"
    },
    "paymentMethodId": {
      "type": "string",
      "description": "The payment method ID"
    },
    "blocked": {
      "type": "string",
      "description": "Whether the customer is blocked"
    },
    "lastModifiedDateTime": {
      "type": "string",
      "description": "The date and time when the customer was last modified"
    }
  }
}