Customer

A person or organization that purchases goods or services from a business. Supports both B2C (individual consumers) and B2B (business customers) with financial tracking, loyalty programs, and segmentation capabilities.

44 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
customerNumberstring
stored

Unique customer identifier or account number assigned by the business

Example: "CUST-2024-00123"

Required
customerTypestring
enum

Type of customer - 'individual' for B2C (person), 'business' for B2B (organization)

Values: individual, business

Example: "individual"

Required
personPerson
stored

Reference to Person entity for B2C customers (when customerType is 'individual')

Optional
organizationOrganization
stored

Reference to Organization entity for B2B customers (when customerType is 'business')

Optional
statusstring
enum

Current customer account status (active, inactive, suspended, pending, blacklisted)

Values: active, inactive, suspended, pending, blacklisted

Example: "active"

Required
registrationDateDate
stored

Date when the customer account was created

Example: "2024-01-15"

Required
lastModifiedDateDateTime
stored

Date and time when the customer record was last modified

Example: "2024-11-10T14:30:00Z"

Optional
isGuestboolean
stored

Whether this is a guest checkout customer (no account registration required for purchase). Found in 30-60% of e-commerce transactions

Optional
guestConvertedAtDateTime
stored

Date and time when a guest customer was converted to a registered customer account

Optional
firstPurchaseDateDate
computed

Date of the customer's first purchase

Example: "2024-01-20"

Optional
lastPurchaseDateDate
computed

Date of the customer's most recent purchase

Example: "2024-10-15"

Optional
totalOrdersnumber
computed

Total number of orders placed by the customer

Example: 47

Optional
totalRevenueMonetaryAmount
computed

Total lifetime revenue from this customer

Optional
averageOrderValueMonetaryAmount
computed

Average value per order

Optional
preferredCurrencyCurrency
stored

Customer's preferred currency for pricing and invoices

Optional
timezonestring
stored

Customer's timezone in IANA format (e.g., 'America/New_York', 'Europe/Paris') for scheduling and time-sensitive communications

Example: "America/New_York"

Optional
creditLimitMonetaryAmount
stored

Maximum credit allowed for B2B customers (null for B2C or unlimited credit)

Optional
currentBalanceMonetaryAmount
computed

Current outstanding balance owed by the customer

Optional
paymentTermsPaymentTerm
stored

Default payment terms for B2B customers (Net 30, Net 60, COD, etc.)

Optional
taxExemptboolean
stored

Whether the customer is exempt from sales tax

Optional
taxExemptionCertificatestring
stored

Tax exemption certificate number if applicable

Example: "TAX-EXEMPT-12345"

Optional
loyaltyTierstring
enum

Customer loyalty program tier (Bronze, Silver, Gold, Platinum, VIP)

Values: Bronze, Silver, Gold, Platinum, VIP

Example: "Gold"

Optional
loyaltyPointsnumber
computed

Current loyalty points balance

Example: 2450

Optional
loyaltyMemberSinceDate
stored

Date when customer joined the loyalty program

Example: "2024-01-15"

Optional
customerSegmentstring
enum

Marketing or business segment classification (VIP, Regular, New, Dormant, At-Risk, High-Value, etc.)

Values: VIP, Regular, New, Dormant, At-Risk, High-Value, Enterprise

Example: "High-Value"

Optional
referralCodestring
stored

Unique referral code for this customer to share with others

Example: "REF-SMITH-2024"

Optional
referredByCustomer
stored

Reference to the customer who referred this customer

Optional
marketingConsentsCustomerMarketingConsent[]
stored

Marketing communication consent tracking per channel (email, sms, phone, mail, push) with timestamps and IP addresses for GDPR compliance

Optional
newsletterobject
stored

Newsletter subscription tracking (separate from general marketing consent)

Example: {"subscribed":true,"subscribedAt":"2024-01-15T10:30:00Z","subscribedIp":"192.168.1.100","unsubscribeToken":"a1b2c3d4e5f6g7h8"}

Optional
gdprConsentsCustomerGdprConsent[]
stored

GDPR data processing consent and rights tracking with version history for privacy policy, terms of service, and data processing agreements

Optional
communicationPreferencesobject
stored

Preferred communication channels and frequency

Example: {"channel":"email","frequency":"weekly","timezone":"America/New_York"}

Optional
salesRepresentativeEmployee
stored

Assigned sales representative for B2B customers

Optional
accountManagerEmployee
stored

Assigned account manager for B2B customers

Optional
pricingTierstring
enum

Pricing tier for special customer pricing (Standard, Volume, Wholesale, Partner)

Values: Standard, Volume, Wholesale, Partner

Example: "Volume"

Optional
discountPercentagenumber
stored

Default discount percentage applied to orders (0-100)

Example: 15

Optional
annualRevenueTierstring
enum

Annual revenue tier for B2B segmentation (0-1M, 1M-10M, 10M-100M, 100M+)

Values: 0-1M, 1M-10M, 10M-100M, 100M+

Example: "1M-10M"

Optional
notesstring
stored

Internal notes about the customer, preferences, or special requirements

Example: "Prefers morning deliveries. Requires invoice by email only."

Optional
tagsCustomerTag[]
stored

Freeform tags for customer categorization and filtering

Example: ["wholesale","priority","tech-industry"]

Optional
parentCustomerCustomer
stored

Reference to parent customer in corporate hierarchy for B2B subsidiary relationships

Optional
hierarchyLevelnumber
computed

Depth level in customer hierarchy (0 = root/top-level customer, 1 = direct subsidiary, 2+ = nested subsidiaries)

Example: 2

Optional
changeHistoryChangeHistory[]
stored

Comprehensive change log tracking all field-level modifications with before/after values for audit trail and regulatory compliance

Optional
externalReferencesExternalReference[]
stored

References to customer records in external systems (Salesforce, SAP, etc.) for integration purposes

Example: [{"system":"Salesforce","externalId":"0031234567890ABC","syncedAt":"2024-11-10T10:00:00Z"},{"system":"SAP","externalId":"1000123","syncedAt":"2024-11-10T10:05:00Z"}]

Optional
dataQualityobject
stored

Data quality metrics and duplicate management

Example: {"qualityScore":95,"lastVerifiedAt":"2024-11-01T00:00:00Z","isDuplicate":false}

Optional
metadataobject
stored

Additional metadata for extensibility and custom fields

Optional

Examples

Example 1

{
  "@type": "Customer",
  "customerNumber": "CUST-2024-00123",
  "customerType": "individual",
  "person": {
    "@type": "Person",
    "givenName": "Emily",
    "middleName": "Rose",
    "familyName": "Thompson",
    "gender": {
      "@type": "Gender",
      "code": "F",
      "label": "Female"
    },
    "birthDate": "1988-06-15",
    "telecoms": [
      {
        "@type": "ContactPoint",
        "system": "email",
        "value": "emily.thompson@email.com",
        "use": "home",
        "rank": 1
      },
      {
        "@type": "ContactPoint",
        "system": "phone",
        "value": "+1-555-0167",
        "use": "mobile"
      }
    ]
  },
  "status": "active",
  "registrationDate": "2024-01-15",
  "lastModifiedDate": "2024-11-10T14:30:00Z",
  "isGuest": false,
  "firstPurchaseDate": "2024-01-20",
  "lastPurchaseDate": "2024-10-15",
  "totalOrders": 47,
  "totalRevenue": {
    "@type": "MonetaryAmount",
    "value": 12450.5,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "averageOrderValue": {
    "@type": "MonetaryAmount",
    "value": 264.9,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "preferredCurrency": {
    "@type": "Currency",
    "code": "USD",
    "symbol": "$"
  },
  "timezone": "America/Los_Angeles",
  "taxExempt": false,
  "loyaltyTier": "Gold",
  "loyaltyPoints": 2450,
  "loyaltyMemberSince": "2024-01-15",
  "customerSegment": "High-Value",
  "referralCode": "REF-EMILY-2024",
  "pricingTier": "Standard",
  "discountPercentage": 0,
  "notes": "Loyal customer. Prefers eco-friendly packaging.",
  "tags": [
    "loyal",
    "eco-conscious",
    "frequent-buyer"
  ],
  "dataQuality": {
    "qualityScore": 95,
    "lastVerifiedAt": "2024-11-01T00:00:00Z",
    "isDuplicate": false
  }
}

Example 2

{
  "@type": "Customer",
  "customerNumber": "CUST-2024-00789",
  "customerType": "business",
  "organization": {
    "@type": "Organization",
    "name": "Northwest Tech Solutions",
    "legalName": "Northwest Tech Solutions Inc.",
    "status": "active",
    "identifier": [
      {
        "@type": "Identifier",
        "system": "EIN",
        "value": "98-7654321",
        "type": "tax",
        "country": "US",
        "label": "US Employer Identification Number"
      },
      {
        "@type": "Identifier",
        "system": "DUNS",
        "value": "987654321",
        "type": "financial",
        "label": "D-U-N-S Number"
      }
    ],
    "address": [
      {
        "@type": "PostalAddress",
        "use": "headquarters",
        "label": "Head Office",
        "streetAddress": "2500 Technology Boulevard",
        "addressLocality": "Seattle",
        "addressRegion": "WA",
        "postalCode": "98101",
        "addressCountry": "US"
      }
    ],
    "numberOfEmployees": 450,
    "organizationType": "Corporation"
  },
  "status": "active",
  "registrationDate": "2023-06-10",
  "lastModifiedDate": "2024-10-20T16:45:00Z",
  "isGuest": false,
  "firstPurchaseDate": "2023-06-15",
  "lastPurchaseDate": "2024-10-20",
  "totalOrders": 124,
  "totalRevenue": {
    "@type": "MonetaryAmount",
    "value": 487650,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "averageOrderValue": {
    "@type": "MonetaryAmount",
    "value": 3932.66,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "preferredCurrency": {
    "@type": "Currency",
    "code": "USD",
    "symbol": "$"
  },
  "timezone": "America/Los_Angeles",
  "creditLimit": {
    "@type": "MonetaryAmount",
    "value": 100000,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "currentBalance": {
    "@type": "MonetaryAmount",
    "value": 15650,
    "currency": {
      "@type": "Currency",
      "code": "USD",
      "symbol": "$"
    }
  },
  "paymentTerms": {
    "@type": "PaymentTerm",
    "code": "NET_30",
    "label": "Net 30 days",
    "daysUntilDue": 30
  },
  "taxExempt": false,
  "loyaltyTier": "Platinum",
  "loyaltyPoints": 48765,
  "loyaltyMemberSince": "2023-06-10",
  "customerSegment": "Enterprise",
  "referralCode": "REF-NWTECH-2023",
  "salesRepresentative": {
    "@type": "Employee",
    "givenName": "Michael",
    "familyName": "Chen",
    "employeeId": "EMP-2024-0042",
    "jobTitle": "Senior Sales Executive"
  },
  "accountManager": {
    "@type": "Employee",
    "givenName": "Sarah",
    "familyName": "Williams",
    "employeeId": "EMP-2024-0015",
    "jobTitle": "Account Manager"
  },
  "pricingTier": "Volume",
  "discountPercentage": 15,
  "annualRevenueTier": "10M-100M",
  "notes": "Key account. Quarterly business reviews scheduled. Prefers consolidated monthly invoicing.",
  "tags": [
    "enterprise",
    "tech-industry",
    "strategic-account",
    "volume-buyer"
  ],
  "externalReferences": [
    {
      "system": "Salesforce",
      "externalId": "0061234567890ABC",
      "syncedAt": "2024-10-20T10:00:00Z"
    }
  ],
  "dataQuality": {
    "qualityScore": 98,
    "lastVerifiedAt": "2024-10-01T00:00:00Z",
    "isDuplicate": false
  }
}

Example 3

{
  "@type": "Customer",
  "customerNumber": "CLIENT-2024-00456",
  "customerType": "individual",
  "person": {
    "@type": "Person",
    "givenName": "Sophie",
    "middleName": "Marie",
    "familyName": "DUBOIS",
    "gender": {
      "@type": "Gender",
      "code": "F",
      "label": "Femme"
    },
    "birthDate": "1992-04-22",
    "telecoms": [
      {
        "@type": "ContactPoint",
        "system": "email",
        "value": "sophie.dubois@email.fr",
        "use": "home",
        "rank": 1
      },
      {
        "@type": "ContactPoint",
        "system": "phone",
        "value": "+33 6 12 34 56 78",
        "use": "mobile"
      }
    ]
  },
  "status": "active",
  "registrationDate": "2024-03-10",
  "firstPurchaseDate": "2024-03-15",
  "lastPurchaseDate": "2024-10-25",
  "totalOrders": 28,
  "totalRevenue": {
    "@type": "MonetaryAmount",
    "value": 3845.8,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "averageOrderValue": {
    "@type": "MonetaryAmount",
    "value": 137.35,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "preferredCurrency": {
    "@type": "Currency",
    "code": "EUR",
    "symbol": "€"
  },
  "taxExempt": false,
  "loyaltyTier": "Silver",
  "loyaltyPoints": 785,
  "loyaltyMemberSince": "2024-03-10",
  "customerSegment": "Regular",
  "referralCode": "REF-SOPHIE-2024",
  "pricingTier": "Standard",
  "discountPercentage": 0,
  "notes": "Cliente fidèle. Apprécie les produits bio et locaux.",
  "tags": [
    "fidele",
    "bio",
    "local"
  ],
  "metadata": {
    "newsletterSubscribed": true,
    "preferredDeliveryTime": "afternoon",
    "ecoFriendlyPackaging": true
  }
}

Example 4

{
  "@type": "Customer",
  "customerNumber": "CLIENT-2023-01234",
  "customerType": "business",
  "organization": {
    "@type": "Organization",
    "name": "Innovatech France",
    "legalName": "Innovatech France SAS",
    "status": "active",
    "identifier": [
      {
        "@type": "Identifier",
        "system": "SIREN",
        "value": "987654321",
        "type": "registration",
        "country": "FR",
        "label": "Numéro SIREN"
      },
      {
        "@type": "Identifier",
        "system": "SIRET",
        "value": "98765432100015",
        "type": "registration",
        "country": "FR",
        "label": "Numéro SIRET"
      },
      {
        "@type": "Identifier",
        "system": "VAT",
        "value": "FR98987654321",
        "type": "tax",
        "country": "FR",
        "label": "Numéro TVA Intracommunautaire"
      }
    ],
    "address": [
      {
        "@type": "PostalAddress",
        "use": "headquarters",
        "label": "Siège Social",
        "streetAddress": "15 Avenue des Champs-Élysées",
        "addressLocality": "Paris",
        "postalCode": "75008",
        "addressCountry": "FR"
      }
    ],
    "numberOfEmployees": 280,
    "organizationType": "SAS"
  },
  "status": "active",
  "registrationDate": "2023-02-15",
  "firstPurchaseDate": "2023-03-01",
  "lastPurchaseDate": "2024-10-18",
  "totalOrders": 96,
  "totalRevenue": {
    "@type": "MonetaryAmount",
    "value": 285750,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "averageOrderValue": {
    "@type": "MonetaryAmount",
    "value": 2976.56,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "preferredCurrency": {
    "@type": "Currency",
    "code": "EUR",
    "symbol": "€"
  },
  "creditLimit": {
    "@type": "MonetaryAmount",
    "value": 75000,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "currentBalance": {
    "@type": "MonetaryAmount",
    "value": 8920,
    "currency": {
      "@type": "Currency",
      "code": "EUR",
      "symbol": "€"
    }
  },
  "paymentTerms": {
    "@type": "PaymentTerm",
    "code": "NET_60",
    "label": "Net 60 jours",
    "daysUntilDue": 60
  },
  "taxExempt": false,
  "loyaltyTier": "Platinum",
  "loyaltyPoints": 28575,
  "loyaltyMemberSince": "2023-02-15",
  "customerSegment": "Compte Stratégique",
  "referralCode": "REF-INNOVATECH-2023",
  "salesRepresentative": {
    "@type": "Employee",
    "givenName": "Pierre",
    "familyName": "MARTIN",
    "employeeId": "EMP-2023-0028",
    "jobTitle": "Responsable Commercial"
  },
  "accountManager": {
    "@type": "Employee",
    "givenName": "Marie",
    "familyName": "BERNARD",
    "employeeId": "EMP-2023-0012",
    "jobTitle": "Gestionnaire de Compte"
  },
  "pricingTier": "Volume",
  "discountPercentage": 12,
  "annualRevenueTier": "10M-100M",
  "notes": "Compte stratégique. Réunions trimestrielles. Préfère la facturation mensuelle consolidée.",
  "tags": [
    "entreprise",
    "tech",
    "compte-strategique",
    "volume"
  ],
  "metadata": {
    "contractExpiryDate": "2025-02-28",
    "annualReviewDate": "2024-12-15",
    "preferredCarrier": "Chronopost",
    "billingContact": "comptabilite@innovatech.fr"
  }
}