{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Customer", "type": "object", "description": "A Customer represents a consumer of the service or product that the business offers. Customers can be organized as sub-customers (jobs) within a parent customer hierarchy.", "properties": { "Id": { "type": "string", "description": "Unique identifier for the customer" }, "SyncToken": { "type": "string", "description": "Version number for optimistic locking" }, "Title": { "type": "string", "description": "Title of the person (e.g., Mr., Mrs., Ms.)" }, "GivenName": { "type": "string", "description": "Given (first) name of the customer" }, "MiddleName": { "type": "string", "description": "Middle name of the customer" }, "FamilyName": { "type": "string", "description": "Family (last) name of the customer" }, "Suffix": { "type": "string", "description": "Suffix of the person (e.g., Jr., Sr., III)" }, "DisplayName": { "type": "string", "description": "The name displayed to identify the customer. Must be unique across Customer, Employee, and Vendor objects." }, "CompanyName": { "type": "string", "description": "The name of the company associated with the customer" }, "PrintOnCheckName": { "type": "string", "description": "Name of the customer as printed on a check" }, "Active": { "type": "boolean", "description": "Whether the customer is currently active" }, "Taxable": { "type": "boolean", "description": "Whether the customer is taxable" }, "Notes": { "type": "string", "description": "Free-form text about the customer" }, "Job": { "type": "boolean", "description": "Whether this customer is a sub-customer (job)" }, "Level": { "type": "integer", "description": "Depth level in the customer hierarchy (0 = top)" }, "FullyQualifiedName": { "type": "string", "description": "Fully qualified name of the entity, including parent names separated by colons" }, "PreferredDeliveryMethod": { "type": "string", "description": "Preferred delivery method for communications" }, "Balance": { "type": "number", "description": "Open balance amount for the customer" }, "BalanceWithJobs": { "type": "number", "description": "Open balance amount including balances of sub-customers (jobs)" }, "TaxExemptionReasonId": { "type": "string", "description": "Tax exemption reason ID" }, "WebAddr": { "type": "object" }, "domain": { "type": "string" }, "sparse": { "type": "boolean" } } }