{
 "type": "object",
 "properties": {
  "accessorials": {
   "type": "object",
   "properties": {
    "codes": {
     "type": "array",
     "items": {
      "enum": [
       "IDL",
       "IPU",
       "PPD",
       "LFTD",
       "LFTP",
       "LTDAD",
       "LTDAP",
       "OVR",
       "PSN",
       "PSC",
       "INSIDE_DELIVERY",
       "INSIDE_PICKUP",
       "FOOD",
       "LIFTGATE_DELIVERY",
       "LIFTGATE_PICKUP",
       "LIMITED_ACCESS_DELIVERY",
       "LIMITED_ACCESS_PICKUP",
       "OVER_LENGTH",
       "POISON",
       "PROTECTION_FROM_FREEZING",
       "APPOINTMENT",
       "BROKER_SELECT_OPTION",
       "CALL_BEFORE_DELIVERY",
       "COD",
       "CUSTOM_DELIVERY_WINDOW",
       "CUT_FLOWERS",
       "DO_NOT_BREAK_DOWN_PALLETS",
       "DO_NOT_STACK_PALLETS",
       "DRY_ICE",
       "EAST_COAST_SPECIAL",
       "EXCLUDE_FROM_CONSOLIDATION",
       "EXTREME_LENGTH",
       "INTERNATIONAL_CONTROLLED_EXPORT_SERVICE",
       "FEDEX_ONE_RATE",
       "THIRD_PARTY_CONSIGNEE",
       "ELECTRONIC_TRADE_DOCUMENTS",
       "HOLD_AT_LOCATION",
       "INTERNATIONAL_TRAFFIC_IN_ARMS_REGULATIONS",
       "PENDING_SHIPMENT",
       "PHARMACY_DELIVERY",
       "HOME_DELIVERY_PREMIUM",
       "RETURNS_CLEARANCE",
       "RETURN_SHIPMENT",
       "SATURDAY_DELIVERY",
       "SATURDAY_PICKUP",
       "EVENT_NOTIFICATION",
       "DELIVERY_ON_INVOICE_ACCEPTANCE",
       "TOP_LOAD",
       "FREIGHT_GUARANTEE",
       "ALCOHOL",
       "BATTERY",
       "DANGEROUS_GOODS",
       "DRY_ICE",
       "PRIORITY_ALERT",
       "PRIORITY_ALERT_PLUS",
       "NON_STANDARD_CONTAINER",
       "PIECE_COUNT_VERIFICATION",
       "SIGNATURE_OPTION",
       "EVENING",
       "DATE_CERTAIN",
       "STANDALONE_BATTERY",
       "BIOLOGICAL_SUBSTANCES_CATEGORY_B",
       "DANGEROUS_GOODS_IN_EXCEPTED_QUANTITIES",
       "GENETICALLY_MODIFIED_ORGANISMS_AND_MICROORGANISMS",
       "RADIOACTIVE_EXCEPTED_PACKAGE",
       "CONTACT_FEDEX_TO_SCHEDULE",
       "DROPOFF_AT_FEDEX_LOCATION",
       "USE_SCHEDULED_PICKUP",
       "FEDEX_FREIGHT_PRIORITY",
       "FEDEX_FREIGHT_ECONOMY",
       "FEDEX_FIRST_FREIGHT",
       "FEDEX_1_DAY_FREIGHT",
       "FEDEX_2_DAY_FREIGHT",
       "FEDEX_3_DAY_FREIGHT",
       "INTERNATIONAL_PRIORITY_FREIGHT",
       "INTERNATIONAL_ECONOMY_FREIGHT",
       "FEDEX_INTERNATIONAL_DEFERRED_FREIGHT",
       "INTERNATIONAL_DISTRIBUTION_FREIGHT"
      ]
     }
    }
   }
  },
  "alternateBillingParty": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "account",
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "billTo": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "account"
   ]
  },
  "ebol": {
   "type": "object",
   "properties": {
    "function": {
     "enum": [
      "Create"
     ]
    },
    "isTest": {
     "type": "boolean"
    },
    "requestedPickupDate": {
     "type": "string",
     "pattern": "\\d{4}-\\d{2}-\\d{2}"
    },
    "specialInstructions": {
     "type": "string"
    },
    "requestorRole": {
     "enum": [
      "Shipper",
      "Consignee"
     ]
    },
    "account": {
     "type": "string"
    },
    "freightAccount": {
     "type": "string"
    },
    "rateRequestType": {
     "type": "array",
     "items": {
      "enum": [
       "LIST",
       "NONE",
       "PREFERRED",
       "ACCOUNT",
       "INCENTIVE",
       "RETAIL"
      ]
     }
    },
    "paymentType": {
     "enum": [
      "CONSIGNEE",
      "SHIPPER",
      "COLLECT_SECTION_7_SIGNED",
      "COLLECT",
      "PREPAID",
      "COLLECT_SECTION_9_SIGNED"
     ]
    },
    "collectTermsType": {
     "enum": [
      "NON_RECOURSE_SHIPPER_SIGNED",
      "STANDARD"
     ]
    }
   },
   "required": [
    "function",
    "requestedPickupDate",
    "rateRequestType",
    "paymentType",
    "collectTermsType",
    "requestorRole"
   ]
  },
  "commodities": {
   "type": "object",
   "properties": {
    "handlingUnits": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "class": {
        "enum": [
         "50",
         "55",
         "60",
         "65",
         "70",
         "77.5",
         "85",
         "92.5",
         "100",
         "110",
         "125",
         "150",
         "175",
         "200",
         "250",
         "300",
         "400",
         "500"
        ]
       },
       "count": {
        "type": "integer"
       },
       "dimensionsUnit": {
        "enum": [
         "Inches",
         "Centimeters"
        ]
       },
       "height": {
        "type": "integer"
       },
       "length": {
        "type": "integer"
       },
       "lineItems": {
        "type": "array",
        "items": {
         "type": "object",
         "properties": {
          "description": {
           "type": "string"
          },
          "hazardous": {
           "type": "boolean"
          },
          "hazardousDescription": {
           "type": "string"
          },
          "hazardousDetails": {
           "type": "object",
           "properties": {
            "class": {
             "type": "string"
            },
            "contractNumber": {
             "type": "string"
            },
            "packingGroup": {
             "type": "string"
            },
            "propername": {
             "type": "string"
            },
            "technicalName": {
             "type": "string"
            },
            "unnaNumber": {
             "type": "string"
            },
            "weight": {
             "type": [
              "number",
              "string"
             ]
            },
            "weightUnit": {
             "enum": [
              "Pounds",
              "Kilograms"
             ]
            }
           },
           "required": []
          },
          "id": {
           "type": "string",
           "pattern": "\\d+"
          },
          "nmfc": {
           "type": "string",
           "pattern": "\\d+"
          },
          "nmfcSub": {
           "type": "string",
           "pattern": "\\d+"
          },
          "packagingType": {
           "enum:": [
            "PARCEL",
            "SACK",
            "SHRINK_WRAPPED",
            "BAG",
            "BBL",
            "BSK",
            "BOX",
            "BXT",
            "BDL",
            "CAB",
            "CTN",
            "CAS",
            "CHS",
            "CNT",
            "CRT",
            "CYL",
            "DRM",
            "ENV",
            "HPR",
            "OTH",
            "PKG",
            "PAL",
            "PAT",
            "PCS",
            "REL",
            "ROL",
            "SKD",
            "TNK",
            "TBN",
            "TBE",
            "UNT",
            "BARREL",
            "BASKET",
            "BUCKET",
            "BUNDLE",
            "CAGE",
            "CARTON",
            "CASE",
            "CHEST",
            "CONTAINER",
            "CRATE",
            "CYLINDER",
            "DRUM",
            "ENVELOPE",
            "HAMPER",
            "OTHER",
            "PACKAGE",
            "PAIL",
            "PALLET",
            "PIECE",
            "REEL",
            "ROLL",
            "SKID",
            "TANK",
            "TOTE_BIN",
            "TUBE",
            "UNIT"
           ]
          },
          "pieces": {
           "type": "integer"
          },
          "po": {
           "type": "string"
          },
          "weight": {
           "type": [
            "number",
            "string"
           ]
          },
          "weightUnit": {
           "enum": [
            "Pounds",
            "Kilograms"
           ]
          },
          "currency": {
           "enum": [
            "USD",
            "CAD",
            "MXN"
           ]
          },
          "customsValue": {
           "type": "number"
          },
          "unitPrice": {
           "type": "number"
          },
          "countryOfManufacture": {
           "type": "string",
           "pattern": "[A-Z]{2}"
          },
          "quantity": {
           "type": "number"
          },
          "quantityUnits": {
           "enum": [
            "AR",
            "CM",
            "CFT",
            "M3",
            "DOZ",
            "DPR",
            "EA",
            "LFT",
            "G",
            "GR",
            "KG",
            "LNM",
            "LTR",
            "M",
            "MG",
            "ML",
            "NO",
            "OZ",
            "PR",
            "PCS",
            "LB",
            "SFT",
            "M2",
            "SYD",
            "YD"
           ]
          },
          "customerReferences": {
           "type": "array",
           "items": {
            "properties": {
             "customerReferenceType": {
              "enum": [
               "CUSTOMER_REFERENCE",
               "DEPARTMNET_NUMBER",
               "INVOICE_NUMBER",
               "P_O_NUMBER",
               "INTRACOUNTRY_REGULATORY_REFERENCE",
               "RMA_ASSOCIATION",
               "SHIPMENT_INTEGRITY"
              ]
             },
             "value": {
              "type": "string"
             }
            },
            "required": [
             "customerReferenceType",
             "value"
            ]
           }
          }
         },
         "required": [
          "description",
          "packagingType",
          "pieces",
          "weight",
          "weightUnit",
          "quantity",
          "quantityUnits"
         ]
        }
       },
       "width": {
        "type": "integer"
       }
      },
      "required": [
       "count",
       "dimensionsUnit",
       "height",
       "length",
       "width"
      ]
     }
    }
   },
   "required": [
    "handlingUnits"
   ]
  },
  "destination": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "dutiesPayor": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "images": {
   "type": "object",
   "properties": {
    "labelResponseOptions": {
     "enum": [
      "URL_ONLY",
      "LABEL"
     ]
    },
    "printedReferences": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "printedReferenceType": {
        "enum": [
         "BILL_OF_LADING",
         "CONSIGNEE_ID_NUMBER",
         "INTERLINE_PRO_NUMBER",
         "PO_NUMBER",
         "SHIPPER_ID_NUMBER",
         "SHIPPER_ID1_NUMBER",
         "SHIPPER_ID2_NUMBER"
        ]
       },
       "value": {
        "type": "string"
       }
      },
      "required": [
       "printedReferenceType",
       "value"
      ]
     }
    },
    "labelSpecification": {
     "type": "object",
     "properties": {
      "imageType": {
       "enum": [
        "ZPLII",
        "EPL2",
        "PDF",
        "PNG"
       ]
      },
      "labelFormatType": {
       "enum": [
        "COMMON2D",
        "LABEL_DATA_ONLY"
       ]
      },
      "labelStockType": {
       "enum": [
        "PAPER_4X6",
        "PAPER_4X675",
        "PAPER_4X8",
        "PAPER_4X9",
        "PAPER_7X475",
        "PAPER_85X11_BOTTOM_HALF_LABEL",
        "PAPER_85X11_TOP_HALF_LABEL",
        "PAPER_LETTER",
        "STOCK_4X675_LEADING_DOC_TAB",
        "STOCK_4X8",
        "STOCK_4X9_LEADING_DOC_TAB",
        "STOCK_4X6",
        "STOCK_4X675_TRAILING_DOC_TAB",
        "STOCK_4X9_TRAILING_DOC_TAB",
        "STOCK_4X675",
        "STOCK_4X9",
        "PAPER_LETTER"
       ]
      },
      "labelOrder": {
       "enum": [
        "SHIPPING_LABEL_FIRST",
        "SHIPPING_LABEL_LAST"
       ]
      },
      "labelRotation": {
       "enum": [
        "LEFT",
        "RIGHT",
        "UPSIDE_DOWN",
        "NONE"
       ]
      },
      "labelPrintingOrientation": {
       "enum": [
        "BOTTOM_EDGE_OF_TEXT_FIRST",
        "TOP_EDGE_OF_TEXT_FIRST"
       ]
      },
      "returnedDispositionDetail": {
       "type": "boolean"
      },
      "resolution": {
       "enum": [
        203,
        300
       ]
      }
     },
     "required": [
      "imageType",
      "labelFormatType",
      "labelStockType"
     ]
    },
    "shippingDocumentTypes": {
     "type": "array",
     "items": {
      "enum": [
       "CERTIFICATE_OF_ORIGIN",
       "COMMERCIAL_INVOICE",
       "CUSTOM_PACKAGE_DOCUMENT",
       "CUSTOM_SHIPMENT_DOCUMENT",
       "CUSTOMER_SPECIFIED_LABELS",
       "EXPORT_DECLARATION",
       "DANGEROUS_GOODS_SHIPPERS_DECLARATION",
       "FREIGHT_ADDRESS_LABEL",
       "GENERAL_AGENCY_AGREEMENT",
       "LABEL",
       "USMCA_CERTIFICATION_OF_ORIGIN",
       "OP_900",
       "PENDING_SHIPMENT_EMAIL_NOTIFICATION",
       "PRO_FORMA_INVOICE",
       "RETURN_INSTRUCTIONS",
       "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING",
       "VICS_BILL_OF_LADING",
       "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN"
      ]
     }
    },
    "frtbolStockType": {
     "enum": [
      "PAPER_4X6",
      "PAPER_4X675",
      "PAPER_4X8",
      "PAPER_4X9",
      "PAPER_7X475",
      "PAPER_85X11_BOTTOM_HALF_LABEL",
      "PAPER_85X11_TOP_HALF_LABEL",
      "PAPER_LETTER",
      "STOCK_4X675_LEADING_DOC_TAB",
      "STOCK_4X8",
      "STOCK_4X9_LEADING_DOC_TAB",
      "STOCK_4X6",
      "STOCK_4X675_TRAILING_DOC_TAB",
      "STOCK_4X9_TRAILING_DOC_TAB",
      "STOCK_4X675",
      "STOCK_4X9",
      "PAPER_LETTER"
     ]
    }
   },
   "required": [
    "printedReferences",
    "labelSpecification"
   ]
  },
  "importerOfRecord": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "notifications": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string"
     },
     "email": {
      "type": "string"
     },
     "recipientType": {
      "enum": [
       "BROKER",
       "OTHER",
       "RECIPIENT",
       "SHIPPER",
       "THIRD_PARTY",
       "OTHER1",
       "OTHER2"
      ]
     },
     "events": {
      "type": "array",
      "items": {
       "enum": [
        "ON_BILL_OF_LADING",
        "ON_PICKUP_DRIVER_ARRIVED",
        "ON_PICKUP_DRIVER_ASSIGNED",
        "ON_PICKUP_DRIVER_DEPARTED",
        "ON_PICKUP_DRIVER_EN_ROUTE"
       ]
      }
     }
    },
    "required": [
     "email",
     "recipientType",
     "events"
    ]
   }
  },
  "origin": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "labelOrigin": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "payment": {
   "type": "object",
   "properties": {
    "terms": {
     "enum": [
      "Prepaid",
      "Collect",
      "Third Party"
     ]
    }
   },
   "required": [
    "terms"
   ]
  },
  "producer": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "referenceNumbers": {
   "type": "object",
   "properties": {
    "formId": {
     "type": "string"
    },
    "uspsApplicationId": {
     "type": "string"
    },
    "trackingNumber": {
     "type": "string"
    },
    "trackingIdType": {
     "type": "string"
    }
   },
   "required": []
  },
  "shipmentTotals": {
   "type": "object",
   "properties": {
    "cube": {
     "type": "integer"
    },
    "cubeDimensionsUnit": {
     "enum": [
      "Feet",
      "Meters"
     ]
    },
    "currency": {
     "enum": [
      "USD",
      "CAD",
      "MXN"
     ]
    },
    "declaredValue": {
     "type": "integer"
    },
    "dimensionsUnit": {
     "enum": [
      "Inches",
      "Centimeters"
     ]
    },
    "grossWeight": {
     "type": [
      "number",
      "string"
     ]
    },
    "handlingUnits": {
     "type": "integer"
    },
    "linearLength": {
     "type": "integer"
    },
    "netWeight": {
     "type": [
      "number",
      "string"
     ]
    },
    "weightUnit": {
     "enum": [
      "Pounds",
      "LBS"
     ]
    }
   },
   "required": [
    "currency",
    "declaredValue"
   ]
  },
  "shipper": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "soldTo": {
   "type": "object",
   "properties": {
    "account": {
     "type": "string"
    },
    "address1": {
     "type": "string"
    },
    "address2": {
     "type": "string"
    },
    "city": {
     "type": "string"
    },
    "contact": {
     "type": "object",
     "properties": {
      "email": {
       "type": "string"
      },
      "name": {
       "type": "string"
      },
      "phone": {
       "type": [
        "integer",
        "string"
       ]
      },
      "phoneExt": {
       "type": [
        "integer",
        "string"
       ]
      }
     },
     "required": [
      "phone"
     ]
    },
    "country": {
     "enum": [
      "US",
      "CA",
      "MX",
      "USA",
      "CAN",
      "MEX"
     ]
    },
    "name": {
     "type": "string"
    },
    "postalCode": {
     "type": [
      "string",
      "integer"
     ],
     "pattern": "(?:\\d{5}(?:[-]?\\d{4})?)|(?:(?:[A-Za-z][0-9][A-Za-z][0-9][A-Za-z])[0-9]?)"
    },
    "stateProvince": {
     "enum": [
      "AL",
      "AK",
      "AZ",
      "AR",
      "CA",
      "CO",
      "CT",
      "DC",
      "DE",
      "FL",
      "GA",
      "HI",
      "ID",
      "IL",
      "IN",
      "IA",
      "KS",
      "KY",
      "LA",
      "ME",
      "MD",
      "MA",
      "MI",
      "MN",
      "MS",
      "MO",
      "MT",
      "NE",
      "NV",
      "NH",
      "NJ",
      "NM",
      "NY",
      "NC",
      "ND",
      "OH",
      "OK",
      "OR",
      "PA",
      "PR",
      "RI",
      "SC",
      "SD",
      "TN",
      "TX",
      "UT",
      "VT",
      "VA",
      "WA",
      "WV",
      "WI",
      "WY",
      "AB",
      "BC",
      "MB",
      "NB",
      "NL",
      "NS",
      "NT",
      "NU",
      "ON",
      "PE",
      "QC",
      "SK",
      "YT",
      "CMX",
      "AGU",
      "BCN",
      "BCS",
      "CAM",
      "COA",
      "COL",
      "CHP",
      "CHH",
      "DUR",
      "GUA",
      "GRO",
      "HID",
      "JAL",
      "MEX",
      "MIC",
      "MOR",
      "NAY",
      "NLE",
      "OAX",
      "PUE",
      "QUE",
      "ROO",
      "SLP",
      "SIN",
      "SON",
      "TAB",
      "TAM",
      "TLA",
      "VER",
      "YUC",
      "ZAC"
     ]
    }
   },
   "required": [
    "account",
    "address1",
    "city",
    "contact",
    "country",
    "name",
    "postalCode",
    "stateProvince"
   ]
  },
  "version": {
   "enum": [
    "2.1.0"
   ]
  }
 },
 "required": [
  "bol",
  "destination",
  "origin",
  "version"
 ]
}