# ShippingRateQuoteResultDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

The answer to a rate quote request: the outcome, the provider that produced it, and the rate options
when the outcome is success.

## Fields
- `outcome` ([ShippingRateOutcome](https://devportal.demo.winkpg.io/docs/api/models/ShippingRateOutcome.md)): What happened. `quotes` carries options only when this is `Success`.
  Values:
  - `Success`: The provider answered with at least one quote.
  - `NoRatesForLane`: The provider answered, and no carrier it reaches serves this origin, destination and parcel combination. Not an error: the page shows no options and the merchant checks the lane.
  - `NotConfigured`: No provider is configured or enabled. The null provider's only answer.
  - `Misconfigured`: A provider is configured but its own settings are incomplete or invalid (a missing credential, an unusable carrier account filter). An administrator fixes this on the settings page.
  - `AuthenticationFailed`: The provider rejected the credential (HTTP 401 or 403).
  - `RateLimited`: The provider throttled the caller (HTTP 429).
  - `InvalidRequest`: The provider rejected the request as malformed or unsupported (any other 4xx).
  - `ProviderUnavailable`: The provider could not be reached or answered with a server-side fault: a transport failure, an open circuit, or a 5xx.
  - `Timeout`: The call did not complete within QuoteTimeoutSeconds.
  - `MalformedResponse`: The provider answered 2xx with a body the response mapper could not read.
- `isSuccess` (boolean): Whether `outcome` is `Success`. (read only)
- `providerName` (string): The name of the provider that answered. The platform's fallback provider answers when the  merchant has no enabled binding, with the outcome `NotConfigured`. (nullable)
- `quoteId` (string(uuid)): The identifier the platform recorded this quote under, when the outcome is success. A checkout  that lets a shopper choose a service sends this identifier and the chosen option's  `optionId` back, never an amount: the server re-reads the  recorded quote and charges the amount it stored. Absent for a non-success outcome. (nullable)
- `expiresAt` (string(date-time)): When the recorded quote stops being honored, in UTC. A selection submitted after this instant  is refused and the lane has to be quoted again. Absent when `quoteId` is absent. (nullable)
- `quotes` (array<[ShippingRateQuoteDto](https://devportal.demo.winkpg.io/docs/api/models/ShippingRateQuoteDto.md)>): The rate options, ordered as the provider returned them. Empty unless the outcome is success. (nullable)
  Fields of each item:
  - `optionId` (string(uuid)): The platform's identifier for this option within the recorded quote, when the quote was  recorded. What a selection sends back alongside the quote's identifier. (nullable)
  - `carrier` (string): The carrier's name as the provider reports it, for example UPS or USPS. (nullable)
  - `serviceLevelCode` (string): The provider's service level token, for example `usps_priority`. (nullable)
  - `serviceLevelName` (string): The service level's display name, for example Priority Mail. (nullable)
  - `amount` (number(double)): The quoted shipping amount, in `currency`.
  - `currency` (string): The ISO 4217 currency of `amount`. (nullable)
  - `estimatedTransitDays` (integer(int32)): The carrier's estimated transit time in days, when the provider reports one. (nullable)
  - `providerRateId` (string): The provider's own identifier for this rate. Opaque to the platform; a later label purchase  through the same provider would refer to it. (nullable)
- `messages` (array<string>): Provider or platform messages explaining a non-success outcome. Never carries a credential, a  URL or a raw exception. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
