{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/optimizely/main/json-schema/optimizely-insite-data-entities-customer-schema.json",
  "title": "Insite.Data.Entities.Customer",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/optimizely-customers-api-openapi.yml#/components/schemas/Insite.Data.Entities.Customer",
  "required": [
    "address1",
    "address2",
    "address3",
    "address4",
    "attention",
    "bankCode",
    "budgetEnforcementLevel",
    "city",
    "companyName",
    "costCodeDescription",
    "currencyCode",
    "customerNumber",
    "customerSequence",
    "customerType",
    "defaultCostCode",
    "email",
    "endUserType",
    "erpNumber",
    "erpSequence",
    "fax",
    "firstName",
    "freightTerms",
    "lastName",
    "logoImagePath",
    "middleName",
    "phone",
    "postalCode",
    "priceCode",
    "shipCode",
    "shipSite",
    "taxCode1",
    "taxCode2",
    "termsCode",
    "territory",
    "vatNumber"
  ],
  "type": "object",
  "properties": {
    "id": {
      "format": "uuid",
      "type": "string"
    },
    "address1": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "address2": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "address3": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "address4": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "agingBucket1": {
      "format": "decimal",
      "type": "number"
    },
    "agingBucket2": {
      "format": "decimal",
      "type": "number"
    },
    "agingBucket3": {
      "format": "decimal",
      "type": "number"
    },
    "agingBucket4": {
      "format": "decimal",
      "type": "number"
    },
    "agingBucket5": {
      "format": "decimal",
      "type": "number"
    },
    "agingBucketFuture": {
      "format": "decimal",
      "type": "number"
    },
    "allowDropShip": {
      "type": "boolean"
    },
    "attention": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "bankCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "budgetEnforcementLevel": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "city": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "companyName": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "costCodeDescription": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "countryId": {
      "format": "uuid",
      "type": "string"
    },
    "creditHold": {
      "type": "boolean"
    },
    "creditLimit": {
      "format": "decimal",
      "type": "number"
    },
    "currencyCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "currencyId": {
      "format": "uuid",
      "type": "string"
    },
    "customerNumber": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "customerSequence": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "customerType": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "customLandingPage": {
      "maxLength": 1024,
      "minLength": 0,
      "type": "string"
    },
    "defaultCostCode": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "defaultWarehouseId": {
      "format": "uuid",
      "type": "string"
    },
    "discountPercent": {
      "format": "decimal",
      "type": "number"
    },
    "distance": {
      "format": "decimal",
      "type": "number"
    },
    "dropShipFeeRequired": {
      "type": "boolean"
    },
    "email": {
      "maxLength": 256,
      "minLength": 0,
      "type": "string"
    },
    "endUserType": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "erpNumber": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "erpSequence": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "fax": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "firstName": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "freightTerms": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "isActive": {
      "type": "boolean"
    },
    "isBillTo": {
      "type": "boolean"
    },
    "isDropShip": {
      "type": "boolean"
    },
    "isGuest": {
      "type": "boolean"
    },
    "isShipTo": {
      "type": "boolean"
    },
    "isSoldTo": {
      "type": "boolean"
    },
    "isPoRequired": {
      "type": "boolean"
    },
    "lastName": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "logoImagePath": {
      "maxLength": 1024,
      "minLength": 0,
      "type": "string"
    },
    "middleName": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "parentId": {
      "format": "uuid",
      "type": "string"
    },
    "phone": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "postalCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "priceCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "pricingCustomerId": {
      "format": "uuid",
      "type": "string"
    },
    "primarySalespersonId": {
      "format": "uuid",
      "type": "string"
    },
    "sendEmail": {
      "type": "boolean"
    },
    "shipCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "shipEarly": {
      "type": "boolean"
    },
    "shipPartial": {
      "type": "boolean"
    },
    "shipSite": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "stateId": {
      "format": "uuid",
      "type": "string"
    },
    "taxCode1": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "taxCode2": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "termsCode": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "territory": {
      "maxLength": 100,
      "minLength": 0,
      "type": "string"
    },
    "vatNumber": {
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "isVmiLocation": {
      "type": "boolean"
    },
    "carryOverUnusedMonthlyBalances": {
      "type": "boolean"
    },
    "shipViaId": {
      "format": "uuid",
      "type": "string"
    },
    "createdOn": {
      "format": "date-time",
      "type": "string"
    },
    "createdBy": {
      "type": "string"
    },
    "modifiedOn": {
      "format": "date-time",
      "type": "string"
    },
    "modifiedBy": {
      "type": "string"
    }
  }
}