Skip to content

Customer

Complete customer information combining personal details, contact info, and addresses. Represents a customer in an e-commerce or service system.

```typescript
const customer: Customer = {
uid: "user_abc123",
name: "John Michael Smith",
displayName: "John Smith",
first: "John",
last: "Smith",
gender: "male",
birthdate: "1990-05-15",
age: 33,
phone: "+1-555-123-4567",
billingAddress: {
first: "John",
last: "Smith",
address_1: "123 Main Street",
city: "New York",
country: "US",
postal_code: "10001",
region: "NY"
},
shippingAddress: {
first: "John",
last: "Smith",
address_1: "456 Work Plaza",
address_2: "Suite 100",
city: "New York",
country: "US",
postal_code: "10005",
region: "NY"
}
};
// Guest customer (no account)
const guestCustomer: Customer = {
uid: null,
name: "Jane Doe",
displayName: "Jane Doe",
first: "Jane",
last: "Doe",
gender: null,
phone: null
};
## Fields
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | ✓ | |
| `photoURL` | `string \| null` | ✓ | |
| `displayName` | `string` | | Preferred display name for the person. Often a shortened or preferred version of their full name. |
| `first` | `string` | ✓ | |
| `last` | `string` | ✓ | |
| `gender` | `string \| string \| string \| string \| null` | ✓ | |
| `birthdate` | `string \| null` | ✓ | |
| `age` | `number` | | |
| `email` | `string \| null` | ✓ | |
| `phone` | `string \| null` | ✓ | |
| `uid` | `string \| null` | ✓ | Unique identifier for the customer account. Can be null for guest customers who haven't created an account. |
| `billingAddress` | `object \| null` | | Billing address for payment and invoicing. Can be null if not yet provided. |
| `shippingAddress` | `object \| null` | | Shipping address for order delivery. Can be null for digital products or if not yet provided. May differ from billing address. |
### Field Examples
**uid:**
```text
"user_abc123"
"cust_def456"
null // Guest customer

billingAddress:

PersonAddress object with billing details
null

shippingAddress:

PersonAddress object with shipping details
null