# ShippingRateQuoteRequestDto

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

A request for carrier rate quotes on one lane: where the parcels ship from, where they ship to, and
what they are.

## Fields
- `merchantId` (string(uuid)) required: The merchant the quote is for. The caller must be authorized over this merchant; an API key  quotes only for the merchant it belongs to. (nullable)
- `originId` (string(uuid)): The id of a saved ship-from origin belonging to the merchant. Give this or `origin`,  not both. Conditional: When OriginId is not null. (nullable)
- `origin` ([Address](https://devportal.demo.winkpg.io/docs/api/models/Address.md)): A ship-from address supplied inline, for a quote from a location the merchant has not saved.  Give this or `originId`, not both. Conditional: When Origin is not null.
  Fields:
  - `id` (string(uuid)): Gets the unique identifier for the address. (read only)
  - `address1` (string): Gets or sets the first line of the address (e.g., street address). (nullable, max length 100)
  - `address2` (string): Gets or sets the second line of the address (e.g., apartment, suite, unit, building, floor, etc.). (nullable, max length 100)
  - `city` (string): Gets or sets the city of the address. (nullable, max length 100)
  - `state` (string): Gets or sets the state or region of the address. (nullable, max length 100)
  - `province` (string): Gets or sets the province of the address (if applicable). (nullable)
  - `zip` (string): Gets or sets the ZIP code of the address. Conditional: Conditional (see validator source). Pattern: ^\d{5}(-\d{4})?$. Conditional: When IsUsCountry(Country) is false. Max length: 20. (nullable)
  - `postalCode` (string): Gets or sets the postal code of the address. (nullable, max length 20)
  - `country` (string): Gets or sets the country of the address. Defaults to "USA". (nullable, max length 100)
  - `isMailing` (boolean): Gets or sets a value indicating whether this address is a mailing address.
  - `isDefault` (boolean): Gets or sets a value indicating whether this address is the default address.
- `destination` ([Address](https://devportal.demo.winkpg.io/docs/api/models/Address.md)) required: The address the parcels ship to.
  Fields:
  - `id` (string(uuid)): Gets the unique identifier for the address. (read only)
  - `address1` (string): Gets or sets the first line of the address (e.g., street address). (nullable, max length 100)
  - `address2` (string): Gets or sets the second line of the address (e.g., apartment, suite, unit, building, floor, etc.). (nullable, max length 100)
  - `city` (string): Gets or sets the city of the address. (nullable, max length 100)
  - `state` (string): Gets or sets the state or region of the address. (nullable, max length 100)
  - `province` (string): Gets or sets the province of the address (if applicable). (nullable)
  - `zip` (string): Gets or sets the ZIP code of the address. Conditional: Conditional (see validator source). Pattern: ^\d{5}(-\d{4})?$. Conditional: When IsUsCountry(Country) is false. Max length: 20. (nullable)
  - `postalCode` (string): Gets or sets the postal code of the address. (nullable, max length 20)
  - `country` (string): Gets or sets the country of the address. Defaults to "USA". (nullable, max length 100)
  - `isMailing` (boolean): Gets or sets a value indicating whether this address is a mailing address.
  - `isDefault` (boolean): Gets or sets a value indicating whether this address is the default address.
- `destinationIsResidential` (boolean): Whether the destination is a residence. Some carriers price residential delivery differently;  leave unset when unknown and the provider applies its own default. (nullable)
- `parcelPresetIds` (array<string(uuid)>): The ids of saved parcel presets belonging to the merchant, one per parcel in the shipment. Give  this or `parcels`, not both. (nullable)
- `parcels` (array<[ShippingRateQuoteParcelDto](https://devportal.demo.winkpg.io/docs/api/models/ShippingRateQuoteParcelDto.md)>): The parcels supplied inline, one per parcel in the shipment. Give this or  `parcelPresetIds`, not both. (nullable)
  Fields of each item:
  - `weight` (number(double)): The packed weight of the parcel, in `weightUnit`. (greater than 0, max 100000)
  - `weightUnit` ([ShippingWeightUnit](https://devportal.demo.winkpg.io/docs/api/models/ShippingWeightUnit.md)): The unit `weight` is given in. Defaults to pounds.
    Values:
    - `Gram`: Grams.
    - `Kilogram`: Kilograms.
    - `Ounce`: Ounces (avoirdupois).
    - `Pound`: Pounds (avoirdupois).
  - `length` (number(double)): The longest outer side of the parcel, in `dimensionUnit`. (greater than 0, max 10000)
  - `width` (number(double)): The second outer side of the parcel, in `dimensionUnit`. (greater than 0, max 10000)
  - `height` (number(double)): The third outer side of the parcel, in `dimensionUnit`. (greater than 0, max 10000)
  - `dimensionUnit` ([ShippingDimensionUnit](https://devportal.demo.winkpg.io/docs/api/models/ShippingDimensionUnit.md)): The unit the three sides are given in. Defaults to inches.
    Values:
    - `Centimeter`: Centimetres.
    - `Inch`: Inches.
- `carriers` (array<string>): Optional provider-specific carrier account identifiers to restrict the quote to. When omitted the  provider quotes every carrier the binding allows. (nullable)
- `serviceLevels` (array<string>): Optional provider-specific service level tokens to restrict the quote to. When omitted the provider  returns every service level the binding allows. (nullable)
- `currency` (string): The ISO 4217 currency the quotes should be expressed in. When omitted the platform's configured  default currency is requested. Conditional: When Currency is not empty. (nullable)

## See also

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