---
agentTools:
  projectIndex: https://docs.oway.io/llms.txt
---

# Transit time on quotes + structured pallet dimensions

The Shipper API response surface picks up two upgrades this release.

## ✨ New: transit time on quote responses

`POST /v1/shipper/quote` and `GET /v1/shipper/quote/{quoteId}` now include:

* **`transitDays`** *(integer, nullable)* — business days to deliver after pickup. Pickup day is excluded; weekends are not counted; a same-day pickup and delivery returns `0`.
* **`estimatedDeliveryDate`** *(string, ISO-8601 UTC, nullable)* — estimated delivery date and time.

Both fields may be `null` when an ETA cannot be computed (for example, when coverage is unavailable).

```json
{
  "id": "507f1f77bcf86cd799439013",
  "quotedPriceInCents": 76552,
  "quoteExpirationTime": "2026-04-19T18:30:00Z",
  "transitDays": 2,
  "estimatedDeliveryDate": "2026-04-21T22:30:00Z"
}
```

## 🔄 Improved: structured `dimensions` on order components

`OrderComponent` now accepts a structured `dimensions` object on `POST /v1/shipper/quote` and `POST /v1/shipper/shipment`, replacing the positional `palletDimensions` array. Field names remove any ambiguity in ordering (length / width / height).

**Preferred (new):**

```json
{
  "palletCount": 1,
  "poundsWeight": 800,
  "dimensions": {
    "length": 48,
    "width": 40,
    "height": 60
  }
}
```

## ⚠️ Deprecated: `OrderComponent.palletDimensions`

The legacy `palletDimensions` array is still accepted for backwards compatibility but is now marked deprecated and will be removed in a future major release. Migrate to `dimensions` at your convenience.

```json
{
  "palletCount": 1,
  "poundsWeight": 800,
  "palletDimensions": [48, 40, 60]
}
```

***

**Try it on sandbox:** [`api.sandbox.oway.io`](https://api.sandbox.oway.io) · OpenAPI spec: [`/api-docs/shipper-v1`](https://api.sandbox.oway.io/api-docs/shipper-v1)

**Production:** [`api.oway.io`](https://api.oway.io) · OpenAPI spec: [`/api-docs/shipper-v1`](https://api.oway.io/api-docs/shipper-v1)