# Sales Order Object

The Sales Order object contains the following properties:

## Sales Order

| Property | Type | Description |
|  --- | --- | --- |
| **sales_order_id** | string | Unique identifier |
| **external_order_id** | string | Order ID from the order source |
| **external_order_number** | string | Order number from order source |
| **order_source** | Order Source object | Details about the order source |
| **sales_order_status** | Sales Order Status object | Payment and fulfillment status |
| **order_date** | date string (ISO 8601) | When order was created at source |
| **created_at** | date string (ISO 8601) | When created in ShipEngine system |
| **modified_at** | date string (ISO 8601) | Last modification time |
| **payment_details** | Payment Details object | Financial information |
| **customer** | Customer object | Customer contact information |
| **bill_to** | Bill To object | Billing address |
| **ship_to** | Address object | Shipping address |
| **sales_order_items** | array of Sales Order Item objects | Line items |


## Order Source

| Property | Type | Description |
|  --- | --- | --- |
| **order_source_id** | string | Unique identifier |
| **order_source_nickname** | string | Custom name |
| **order_source_code** | string | API identifier |
| **order_source_friendly_name** | string | Display name |
| **refresh_info** | RefreshInfo object | Sync status information |
| **active** | boolean | Activation status |


## Refresh Info

| Property | Type | Description |
|  --- | --- | --- |
| **status** | enum | idle, preparing_update, updating, error, unknown |
| **last_refresh_attempt** | date string | Last sync attempt timestamp |
| **refresh_date** | date string | Next scheduled refresh |


## Sales Order Item

| Property | Type | Description |
|  --- | --- | --- |
| **sales_order_item_id** | string | Unique identifier |
| **line_item_details** | LineItemDetails object | Product information |
| **ship_to** | Address object | Shipping address |
| **requested_shipping_options** | RequestedShippingOptions object | Shipping preferences |
| **price_summary** | PriceSummary object | Pricing information |
| **quantity** | integer | Quantity ordered |
| **is_gift** | boolean | Gift indicator |


## Sales Order Status

| Property | Type | Description |
|  --- | --- | --- |
| **payment_status** | enum | unknown, paid, unpaid, partially_paid |
| **fulfillment_status** | enum | unknown, fulfilled, unfulfilled, partially_fulfilled, on_hold |
| **is_cancelled** | boolean | Cancellation status |


## Supporting Objects

### Line Item Details

| Property | Type | Description |
|  --- | --- | --- |
| **name** | string | Product name |
| **sku** | string | SKU |
| **weight** | Weight object | Item weight |


### Requested Shipping Options

| Property | Type | Description |
|  --- | --- | --- |
| **shipping_service** | string | Requested service |
| **ship_date** | date string | Requested ship date |


### Price Summary

| Property | Type | Description |
|  --- | --- | --- |
| **unit_price** | Currency object | Price per unit |
| **estimated_tax** | Currency object | Tax estimate |
| **estimated_shipping** | Currency object | Shipping estimate |
| **total** | Currency object | Total price |


### Payment Details

| Property | Type | Description |
|  --- | --- | --- |
| **subtotal** | Currency object | Subtotal amount |
| **estimated_shipping** | Currency object | Shipping estimate |
| **estimated_tax** | Currency object | Tax estimate |
| **grand_total** | Currency object | Total amount |


### Customer

| Property | Type | Description |
|  --- | --- | --- |
| **name** | string | Customer name |
| **phone** | string | Phone number |
| **email** | string | Email address |


### Bill To

| Property | Type | Description |
|  --- | --- | --- |
| **email** | string | Billing email |
| **address** | Address object | Billing address |


### Address

| Property | Type | Description |
|  --- | --- | --- |
| **name** | string | Recipient name |
| **company_name** | string | Company name |
| **phone** | string | Phone number |
| **address_line1** | string | Address line 1 |
| **address_line2** | string | Address line 2 |
| **address_line3** | string | Address line 3 |
| **city_locality** | string | City |
| **state_province** | string | State/Province |
| **postal_code** | string | Postal code |
| **country_code** | string | Country code |


### Weight

| Property | Type | Description |
|  --- | --- | --- |
| **unit** | enum | ounce, pound, gram |
| **value** | decimal | Weight value |


### Currency

| Property | Type | Description |
|  --- | --- | --- |
| **amount** | decimal | Amount value |
| **currency** | enum | usd, cad, aud, gbp, eur |


## Date Format

All date strings use ISO 8601 Standard format (e.g., 2019-07-25T15:24:46.657Z).