{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/united-states-postal-service/refs/heads/main/json-schema/domestic-prices-base-rate-request-schema.json",
  "title": "BaseRateRequest",
  "description": "Request parameters for base rate search.",
  "type": "object",
  "properties": {
    "originZIPCode": {
      "type": "string",
      "description": "5-digit origin ZIP Code.",
      "example": "20212"
    },
    "destinationZIPCode": {
      "type": "string",
      "description": "5-digit destination ZIP Code.",
      "example": "90210"
    },
    "weight": {
      "type": "number",
      "description": "Package weight in pounds.",
      "example": 1.5
    },
    "length": {
      "type": "number",
      "description": "Package length in inches.",
      "example": 12.0
    },
    "width": {
      "type": "number",
      "description": "Package width in inches.",
      "example": 8.0
    },
    "height": {
      "type": "number",
      "description": "Package height in inches.",
      "example": 4.0
    },
    "mailClass": {
      "type": "string",
      "description": "USPS mail class for the shipment.",
      "enum": [
        "PRIORITY_MAIL",
        "PRIORITY_MAIL_EXPRESS",
        "FIRST_CLASS_PACKAGE_SERVICE",
        "PARCEL_SELECT",
        "MEDIA_MAIL",
        "LIBRARY_MAIL",
        "BOUND_PRINTED_MATTER"
      ],
      "example": "PRIORITY_MAIL"
    },
    "processingCategory": {
      "type": "string",
      "description": "Processing category for the package.",
      "enum": [
        "MACHINABLE",
        "NON_MACHINABLE",
        "IRREGULAR",
        "LETTERS",
        "FLATS"
      ],
      "example": "MACHINABLE"
    },
    "destinationEntryFacilityType": {
      "type": "string",
      "description": "Type of destination entry facility.",
      "enum": [
        "NONE",
        "DESTINATION_DELIVERY_UNIT",
        "DESTINATION_SERVICE_FACILITY",
        "DESTINATION_SECTIONAL_CENTER_FACILITY",
        "DESTINATION_BULK_MAIL_CENTER"
      ],
      "example": "NONE"
    },
    "rateIndicator": {
      "type": "string",
      "description": "Rate indicator code for special rate categories.",
      "example": "DR"
    }
  },
  "required": [
    "originZIPCode",
    "destinationZIPCode",
    "weight",
    "mailClass"
  ]
}