{
   "TestWebhookOutputVO":{
      "type":"object",
      "properties":{
         "outputMetaData":{
            "type":"array",
            "description":"describes the time stamp and the number of attempt when FedEx is trying to push to the webhook destination URL",
            "items":{
               "$ref":"#/components/schemas/OutputMetaData"
            }
         },
         "output":{
            "properties":{
               "completeTrackResults":{
                  "type":"array",
                  "items":{
                     "$ref":"#/components/schemas/CompleteTrackResult"
                  }
               }
            }
         }
      },
      "description":"Response with Account and Subscription details",
      "allOf":[
         {
            "$ref":"#/components/schemas/TestWebhookResponseVO"
         }
      ]
   },
   "TestWebhookResponseVO":{
      "type":"object",
      "properties":{
         "transactionId":{
            "type":"string",
            "description":"The transaction ID is a special set of numbers that defines each transaction.<br>Example: 624deea6-b709-470c-8c39-4b5511281492",
            "example":"624deea6-b709-470c-8c39-4b5511281492"
         },
         "customerTransactionId":{
            "type":"string",
            "description":"This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply. <br> Example: AnyCo_order123456789",
            "example":"AnyCo_order123456789"
         }
      },
      "description":"This is a wrapper class for outputVO. Adding transactionID and customerTransactionID."
   },
   "OutputMetaData":{
      "type":"object",
      "properties":{
         "timestamp":{
            "type":"string",
            "description":"Specifies the timestamp when the data is pushed to the Webhook destination URL <br> Format: [YYYY-MM-DDTHH:MM:SSZ]",
            "example":"2021-06-06T11:00:00Z"
         },
         "attemptNumber":{
            "type":"string",
            "description":"Specifies the number of attempt made to push data to the webhook destination URL.",
            "example":"2"
         },
         "eventIndicator": {
            "type": "array",
            "description": "Specifies the shipment events that triggered this push payload to the webhook destination URL.",
            "example": [
              "TBD1",
              "TBD2"
            ],
            "items": {
              "type": "string"
            }
          } 
        },
      "description":"Provide the metadata related to output."
   },
   "CompleteTrackResult":{
      "type":"object",
      "properties":{
         "trackingNumber":{
            "type":"string",
            "description":"A tracking number to identify a package.<br> Example: 123456789012",
            "example":"123456789012"
         },
         "trackResults":{
            "type":"array",
            "description":"An array of detailed tracking information for the requested packages(s). In case of duplicate shipments, multiple track details will be populated.",
            "items":{
               "$ref":"#/components/schemas/TrackResult"
            }
         }
      },
      "description":"Detailed and complete track results"
   },
   "TrackResult":{
      "type":"object",
      "properties":{
         "trackingNumberInfo":{
            "$ref":"#/components/schemas/TrackingNumberInfo"
         },
		 "ppodImage":{
            "type":"string",
			"format": "byte",
            "description":"The picture proof of delivery image represented in a base64 encoded byte array in JPEG format",
            "example":"JVBERi0xLjQKJeLjz9MKMTggMCBvYmogPDwvU3VidHlwZS9Gb3JtL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvTWF0cml4WzEgMCAwIDEgMCAwXS9Gb3JtVHlwZSAxL1Jlc291cmNlczw8L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXS9Gb250PDwvSGVsdiA3IDAgUj4+Pj4vQkJveFswIDAgMTY1LjM4IDIzLjk0XS9MZW5ndGggMTA0Pj5zdHJlYW0KeJw"
          },
		 "spodImage":{
            "type":"string",
			"format": "byte",
            "description":"The signature proof of delivery image represented in a base64 encoded byte array in PNG format",
            "example":"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"
         },
         "additionalTrackingInfo":{
            "$ref":"#/components/schemas/AdditionalTrackingInfo"
         },
         "distanceToDestination":{
            "$ref":"#/components/schemas/Distance"
         },
         "shipperAccountNumber":{
            "$ref":"#/components/schemas/Account"
         },
         "meterNumber":{
            "type":"string",
            "description":"The associated meter number for your FedEx account number. Maximum of 9 characters. <br> Example: 8468376",
            "example":"8468376"
         },
         "returnDetail":{
            "$ref":"#/components/schemas/ReturnDetail"
         },
         "payments":{
            "type":"array",
            "description":"An array of payments applicable to the shipment.",
            "items":{
               "$ref":"#/components/schemas/Payments"
            }
         },
         "serviceDetail":{
            "$ref":"#/components/schemas/ServiceDescriptionDetail"
         },
         "destinationLocation":{
            "description":"Location details for the FedEx facility where the package will be or has been delivered.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/LocationDetail"
               }
            ]
         },
         "latestStatusDetail":{
            "$ref":"#/components/schemas/StatusDetail"
         },
         "serviceCommitMessage":{
            "$ref":"#/components/schemas/ServiceCommitMessage"
         },
         "informationNotes":{
            "type":"array",
            "description":"Notifications to the end user that provide additional information relevant to the tracked shipment. For example, a notification may indicate that a change in behavior has occurred.",
            "items":{
               "$ref":"#/components/schemas/InformationNoteDetail"
            }
         },
         "specialHandlings":{
            "type":"array",
            "description":"Indicate the special handlings on the package being tracked. Includes Special handlings requested for the package like signature options, Broker select or COD etc.<br><a onclick='loadDocReference(\"fedexexpressspecialhandlingcodes\")'>Click here to see FedEx Express Special Handling Codes.</a>",
            "items":{
               "$ref":"#/components/schemas/TrackSpecialHandling"
            }
         },
         "barcodeDetail":{
            "$ref":"#/components/schemas/BarcodeDetail"
         },
         "totalCustomsValue":{
            "$ref":"#/components/schemas/Amount"
         },
         "customerExceptionRequests":{
            "type":"array",
            "description":"Customer complaint information logged to package",
            "items":{
               "$ref":"#/components/schemas/CustomerExceptionRequest"
            }
         },
         "relationships":{
            "type":"array",
            "description":"Relationship of the requestor with the shipment being tracked. Includes detail indicating how the requestor has been matched with this shipment.",
            "items":{
               "$ref":"#/components/schemas/RequestorRelationship"
            }
         },
         "availableImages":{
            "type":"array",
            "description":"The available tracking documents for the shipment being tracked. Available tracking documents includes SPOD and Bill of lading.",
            "items":{
               "$ref":"#/components/schemas/AvailableImagesDetail"
            }
         },
         "deliveryDetails":{
            "$ref":"#/components/schemas/DeliveryDetails"
         },
         "scanEvents":{
            "type":"array",
            "description":"FedEx scan event information for a shipment. Includes the list of events and/or scans applied.",
            "items":{
               "$ref":"#/components/schemas/ScanEvent"
            }
         },
         "commodityInfo":{
            "type":"array",
            "description":"Field which holds information related to commodities.",
            "items":{
               "$ref":"#/components/schemas/CommodityInfo"
            }
         },
         "dateAndTimes":{
            "type":"array",
            "description":"Date and time information for the tracked shipment. Date and time information for the tracked shipment includes various type of date time including when the package was shipped, when it is expected to deliver, when it is actually delivered etc.",
            "items":{
               "$ref":"#/components/schemas/TrackingDateAndTime"
            }
         },
         "packageDetails":{
            "$ref":"#/components/schemas/PackageDetail"
         },
         "totalUniqueAddressCountInConsolidation":{
            "type":"string",
            "description":"Specifies the total number of unique addresses on the CRNs in a          consolidation. Total unique recipient addresses for this shipment, Populated for secure users only.<br> Example: 0",
            "example":"0"
         },
         "goodsClassificationCode":{
            "type":"string",
            "description":"Classification codes for the goods in package. Goods classification codes required for clearance purpose. <br> Example: goodsClassificationCode",
            "example":"goodsClassificationCode"
         },
         "holdAtLocation":{
            "description":"Location details for the Fedex facility holding package for delivery.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/LocationDetail"
               }
            ]
         },
         "customDeliveryOptions":{
            "type":"array",
            "description":"List of delivery options that can be used to customize the delivery of the package.",
            "items":{
               "$ref":"#/components/schemas/CustomDeliveryOption"
            }
         },
         "estimatedDeliveryTimeWindow":{
            "description":"The estimated window for time of delivery.  May be periodically updated based on available in-flight shipment information.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/TimeWindow"
               }
            ]
         },
         "pieceCounts":{
            "type":"array",
            "description":"Piece count information at origin and destination.",
            "items":{
               "$ref":"#/components/schemas/PieceCountDetail"
            }
         },
         "originLocation":{
            "$ref":"#/components/schemas/OriginLocation"
         },
         "recipientInformation":{
            "description":"Contact and address information of recipient.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/ContactAndAddress"
               }
            ]
         },
         "standardTransitTimeWindow":{
            "description":"The standard committed window of time by which the package is expected to be delivered.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/TimeWindow"
               }
            ]
         },
         "charges":{
            "type":"array",
            "description":"an array of charges for the tracked package",
            "items":{
               "$ref":"#/components/schemas/ChargeDetail"
            }
         },
         "shipmentDetails":{
            "$ref":"#/components/schemas/TrackShipmentDetail"
         },
         "reasonDetail":{
            "$ref":"#/components/schemas/ReasonDetail"
         },
         "availableNotifications":{
            "type":"array",
            "description":"The types of email notifications that are available for the package. <br> Example:ON_DELIVERY",
            "example":[
               "ON_DELIVERY",
               "ON_EXCEPTION"
            ],
            "items":{
               "type":"string"
            }
         },
         "shipperInformation":{
            "description":"Contact and address information of shipper.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/ContactAndAddress"
               }
            ]
         },
         "lastUpdatedDestinationAddress":{
            "description":"Last updated delivery address for the package.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/AddressVO"
               }
            ]
         },
         "codDetail":{
            "$ref":"#/components/schemas/CODDetail"
         }
      },
      "description":"Contains detailed tracking information for the requested packages(s). In case of duplicates, multiple track details will be populated."
   },
   "TrackingNumberInfo":{
      "required":[
         "trackingNumber"
      ],
      "type":"object",
      "properties":{
         "trackingNumber":{
            "type":"string",
            "description":"This is a Tracking number for FedEx packages used for tracking a single package or group of packages. <br> Example: 128667043726",
            "example":"128667043726"
         },
         "carrierCode":{
            "type":"string",
            "description":"This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery. <br> Example: FDXE",
            "example":"FDXE",
            "enum":[
               "FDXE",
               "FDXG",
               "FXSP",
               "FXFR",
               "FDXC",
               "FXCC",
               "FEDEX_CARGO",
               "FEDEX_CUSTOM_CRITICAL",
               "FEDEX_EXPRESS",
               "FEDEX_FREIGHT",
               "FEDEX_GROUND",
               "FEDEX_OFFICE",
               "FEDEX_KINKOS",
               "FX",
               "FDFR",
               "FDEG",
               "FXK",
               "FDC",
               "FDCC"
            ]
         },
         "trackingNumberUniqueId":{
            "type":"string",
            "description":"Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems. <br> Example: 245822\\~123456789012\\~FDEG",
            "example":"245822~123456789012~FDEG"
         }
      },
      "description":"Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId."
   },
   "AdditionalTrackingInfo":{
      "type":"object",
      "properties":{
         "packageIdentifiers":{
            "type":"array",
            "description":"Other related identifiers for this package such as reference numbers, purchase order number etc. Provides identifiers other than tracking number that can be used in order to track the shipment.",
            "items":{
               "$ref":"#/components/schemas/PackageIdentifier"
            }
         }
      },
      "description":"Additional Tracking number information like nickname, notes, shipment attributes etc."
   },
   "PackageIdentifier":{
      "type":"object",
      "properties":{
         "type":{
            "type":"string",
            "description":"Indicate the package identifier to identify the package.<br> Example: SHIPPER_REFERENCE",
            "example":"SHIPPER_REFERENCE",
            "enum":[
               "BILL_OF_LADING",
               "COD_RETURN_TRACKING_NUMBER",
               "CUSTOMER_AUTHORIZATION_NUMBER",
               "CUSTOMER_REFERENCE",
               "DEPARTMENT",
               "DOCUMENT_AIRWAY_BILL",
               "EXPRESS_ALTERNATE_REFERENCE",
               "FEDEX_OFFICE_JOB_ORDER_NUMBER",
               "FREE_FORM_REFERENCE",
               "GROUND_INTERNATIONAL",
               "GROUND_SHIPMENT_ID",
               "GROUP_MPS",
               "INTERNATIONAL_DISTRIBUTION",
               "INVOICE",
               "JOB_GLOBAL_TRACKING_NUMBER",
               "ORDER_GLOBAL_TRACKING_NUMBER",
               "ORDER_TO_PAY_NUMBER",
               "OUTBOUND_LINK_TO_RETURN",
               "PART_NUMBER",
               "PARTNER_CARRIER_NUMBER",
               "PURCHASE_ORDER",
               "REROUTE_TRACKING_NUMBER",
               "RETURN_MATERIALS_AUTHORIZATION",
               "RETURNED_TO_SHIPPER_TRACKING_NUMBER",
               "SHIPPER_REFERENCE",
               "STANDARD_MPS",
               "TRACKING_CONTROL_NUMBER",
               "TRACKING_NUMBER_OR_DOORTAG",
               "TRANSBORDER_DISTRIBUTION",
               "TRANSPORTATION_CONTROL_NUMBER",
               "VIRTUAL_CONSOLIDATION"
            ]
         },
         "value":{
            "type":"array",
            "description":"Field which holds the value of the identifier used to identify the package. <br>Example: 'ASJFGVAS'",
            "example":"ASJFGVAS",
            "items":{
               "type":"string"
            }
         },
         "trackingNumberUniqueId":{
            "type":"string",
            "description":"Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems. <br> Example: 245822\\~123456789012\\~FDEG",
            "example":"245822~123456789012~FDEG"
         }
      },
      "description":"The type and value of the package identifier that is to be used to retrieve the tracking information for a package or group of packages."
   },
   "Distance":{
      "type":"object",
      "properties":{
         "units":{
            "type":"string",
            "description":"Field which holds the distance unit type.",
            "example":"KM",
            "enum":[
               "KM",
               "MI"
            ]
         },
         "value":{
            "type":"number",
            "description":"Field which holds the value for the distance.<br> Example: 685.78",
            "format":"double",
            "example":685.7
         }
      },
      "description":"Distance remaining to the destination. Only returned for FedEx Custom Critical shipments."
   },
   "Account":{
      "type":"object",
      "properties":{
         "value":{
            "type":"string",
            "description":"Required to put account number(or account key)",
            "example":"123456789"
         }
      },
      "description":"This specifies the associated Account number."
   },
   "ReturnDetail":{
      "type":"object",
      "properties":{
         "authorizationName":{
            "type":"string",
            "description":"Name of person authorizing the return, entered by the customer.",
            "example":"Sammy Smith"
         },
         "reasonDetail":{
            "type":"array",
            "description":"Specifies the return reason details.",
            "items":{
               "$ref":"#/components/schemas/ReasonDetail"
            }
         }
      },
      "description":"Specifies return information related to a return shipment."
   },
   "ReasonDetail":{
      "type":"object",
      "properties":{
         "description":{
            "type":"string",
            "description":"Field which holds the reason description. <br> Example: Wrong color",
            "example":"Wrong color"
         },
         "type":{
            "type":"string",
            "description":"Field which holds the reason type.<br> Example: REJECTED",
            "example":"REJECTED"
         }
      },
      "description":"This object contains reason description and type."
   },
   "Payments":{
      "type":"object",
      "properties":{
         "amount":{
            "$ref":"#/components/schemas/Amount"
         },
         "description":{
            "type":"string",
            "example":"Shipper"
         },
         "payorAccountNumber":{
            "type":"string",
            "example":"Your account number"
         },
         "classification":{
            "type":"string",
            "example":"TRANSPORTATION"
         },
         "type":{
            "type":"string",
            "example":"SHIPPER_ACCOUNT"
         }
      }
   },
   "Amount":{
      "type":"object",
      "properties":{
         "currency":{
            "type":"string",
            "description":"Indicate the currency code.<br> Example: USD<br><a onclick='loadDocReference(\"countrycodes\")'>Click here to see Currency Codes</a>",
            "example":"USD"
         },
         "value":{
            "type":"number",
            "description":"Field which holds the amount value. <br> Example: 56.80",
            "format":"double",
            "example":56.8
         }
      }
   },
   "ServiceDescriptionDetail":{
      "type":"object",
      "properties":{
         "description":{
            "type":"string",
            "description":"Field which holds the text description of the service type of this package.<br> Example: FedEx Freight Economy",
            "example":"FedEx Freight Economy."
         },
         "shortDescription":{
            "type":"string",
            "description":"Field which holds the abbreviated text description of the service type of this package.<br> Example: FL",
            "example":"FL"
         },
         "type":{
            "type":"string",
            "description":"This is the service type.<br> Example: FEDEX_FREIGHT_ECONOMY<br><a onclick='loadDocReference(\"servicetypes\")'>Click here to see Service Types</a>",
            "example":"FEDEX_FREIGHT_ECONOMY"
         }
      },
      "description":"This object contains service description details for the package."
   },
   "LocationDetail":{
      "required":[
         "locationContactAndAddress",
         "locationType"
      ],
      "type":"object",
      "properties":{
         "locationId":{
            "type":"string",
            "description":"Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.<br> Example: SEA",
            "example":"SEA"
         },
         "locationContactAndAddress":{
            "$ref":"#/components/schemas/ContactAndAddress"
         },
         "locationType":{
            "type":"string",
            "description":"The FedEx Location Type.<br> Example: PICKUP_LOCTION",
            "example":"PICKUP_LOCATION",
            "enum":[
               "FEDEX_AUTHORIZED_SHIP_CENTER",
               "FEDEX_OFFICE",
               "FEDEX_SELF_SERVICE_LOCATION",
               "FEDEX_STAFFED",
               "RETAIL_ALLICANCE_LOCATION",
               "FEDEX_GROUND_TERMINAL",
               "FEDEX_ONSITE"
            ]
         }
      },
      "description":"Location details for the fedex facility."
   },
   "ContactAndAddress":{
      "required":[
         "address",
         "contact"
      ],
      "type":"object",
      "properties":{
         "contact":{
            "$ref":"#/components/schemas/ContactVO"
         },
         "address":{
            "description":"Required.\n\nDescriptive data for a physical location.  may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).\n\nConditional when used with Payor object.  Required if entering using RECIPIENT or THIRD_PARTY.  Required if not-authenticated and SENDER is selected",
            "allOf":[
               {
                  "$ref":"#/components/schemas/AddressVO"
               }
            ]
         }
      },
      "description":"Location Contact And Address."
   },
   "ContactVO":{
      "type":"object",
      "properties":{
         "personName":{
            "type":"string",
            "description":"Identifies the contact person's name. Max Length is 70.<br> Example: John Taylor",
            "example":"John Taylor"
         },
         "phoneNumber":{
            "type":"string",
            "description":"Identifies the phone number associated with this contact. Max length is 15. <br>Example: '1234567890'",
            "example":"1234567890"
         },
         "companyName":{
            "type":"string",
            "description":"Identifies the company this contact is associated with. Max length is 35. <br> Example: Fedex",
            "example":"Fedex"
         }
      },
      "description":"Indicate the contact details for this package."
   },
   "AddressVO":{
      "required":[
         "addressVerificationId",
         "countryCode",
         "streetLines"
      ],
      "type":"object",
      "properties":{
         "classification":{
            "type":"string",
            "description":"Specifies the FedEx classification type for an address. <br>Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.<br> Example: BUSINESS",
            "example":"BUSINESS"
         },
         "residential":{
            "type":"boolean",
            "description":"Placeholder to indicate whether the address is residential (as opposed to commercial).",
            "example":false,
            "enum":[
               true,
               false
            ]
         },
         "streetLines":{
            "type":"array",
            "description":"Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.<br> Example: [\"1043 North Easy Street\", \"Suite 999\"]",
            "example":[
               "1043 North Easy Street",
               "Suite 999"
            ],
            "items":{
               "type":"string"
            }
         },
         "city":{
            "type":"string",
            "description":"Conditional<br>The name of the city, town, etc. <br> Example: SEATTLE",
            "example":"SEATTLE"
         },
         "urbanizationCode":{
            "type":"string",
            "description":"Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.<br> Example: RAFAEL",
            "example":"RAFAEL"
         },
         "stateOrProvinceCode":{
            "type":"string",
            "description":"This is a placeholder for State or Province code. <br> Example: CA<br><a onclick='loadDocReference(\"canadaprovincecodes\")'>Click here to see State/Province Code</a>",
            "example":"WA"
         },
         "postalCode":{
            "type":"string",
            "description":"Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.<br> Example: 98101<br><a onclick='loadDocReference(\"postalawarecountries\")'>Click here to see Postal aware countries</a>",
            "example":"98101"
         },
         "countryCode":{
            "type":"string",
            "description":"Placeholder for country code (2 characters) for the address.<br>Example: US<br><a onclick='loadDocReference(\"countrycodes\")'>Click here to see Country Codes</a>",
            "example":"US"
         },
         "countryName":{
            "type":"string",
            "description":"Field holds the fully spelled out name of a country.<br> Example: United States",
            "example":"United States"
         }
      },
      "description":"Address where the package was actually delivered. Contrast with destinationAddress, which is the location to which the package was intended to be delivered. Addresses may differ due to delivery to a behavior, hold at FedEx location, etc."
   },
   "StatusDetail":{
      "type":"object",
      "properties":{
         "scanLocation":{
            "description":"Address information related to the associated Status.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/AddressVO"
               }
            ]
         },
         "code":{
            "type":"string",
            "description":"A code that identifies this type of status.<br> Example:PU",
            "example":"PU"
         },
         "derivedCode":{
            "type":"string",
            "description":"This is the latest tracking derived code. <br> Example: PU",
            "example":"PU"
         },
         "ancillaryDetails":{
            "type":"array",
            "description":"Specifies the cause of exception along with any action that needs to taken by customer.",
            "items":{
               "$ref":"#/components/schemas/StatusAncillaryDetail"
            }
         },
         "statusByLocale":{
            "type":"string",
            "description":"This is the latest tracking status by locale.<br> Example: Picked up",
            "example":"Picked up"
         },
         "description":{
            "type":"string",
            "description":"A human-readable description of this status.<br> Example: Picked up",
            "example":"Picked up"
         }
      },
      "description":"Specifies details about the status of the track information for the shipment being tracked.  AncilliaryDetails may also be available which describe the cause of exception along with any action that needs to taken by customer."
   },
   "StatusAncillaryDetail":{
      "type":"object",
      "properties":{
         "reason":{
            "type":"string",
            "description":"Field which holds Reason code associated to the status of the shipment being tracked.<br> Example: 15",
            "example":"15"
         },
         "reasonDescription":{
            "type":"string",
            "description":"Field which holds Reason description associated to the status of the shipment being tracked.<br> Example: Customer not available or business closed",
            "example":"Customer not available or business closed"
         },
         "action":{
            "type":"string",
            "description":"Field which holds recommended action for customer to resolve reason.<br> Example: Contact us at <http://www.fedex.com/us/customersupport/call/index.html> to discuss possible delivery or pickup alternatives.",
            "example":"Contact us at <http://www.fedex.com/us/customersupport/call/index.html> to discuss possible delivery or pickup alternatives."
         },
         "actionDescription":{
            "type":"string",
            "description":"Field which holds recommended action description for customer to resolve reason.<br> Example: Customer not Available or Business Closed",
            "example":"Customer not Available or Business Closed"
         }
      },
      "description":"Field which holds status code of the track information for the shipment being tracked."
   },
   "ServiceCommitMessage":{
      "type":"object",
      "properties":{
         "message":{
            "type":"string",
            "description":"Field which holds the commitment message for this package.<br> Example: No scheduled delivery date available at this time.",
            "example":"No scheduled delivery date available at this time."
         },
         "type":{
            "type":"string",
            "description":"Field which holds the type of service commit message.<br> Example: ESTIMATED_DELIVERY_DATE_UNAVAILABLE",
            "example":"ESTIMATED_DELIVERY_DATE_UNAVAILABLE",
            "enum":[
               "BROKER_DELIVERED_DESCRIPTION",
               "CANCELLED_DESCRIPTION",
               "DELIVERY_IN_MULTIPLE_PIECE_SHIPMENT",
               "ESTIMATED_DELIVERY_DATE_UNAVAILABLE",
               "EXCEPTION_IN_MULTIPLE_PIECE_SHIPMENT",
               "FINAL_DELIVERY_ATTEMPTED",
               "FIRST_DELIVERY_ATTEMPTED",
               "HELD_PACKAGE_AVAILABLE_FOR_RECIPIENT_PICKUP",
               "HELD_PACKAGE_AVAILABLE_FOR_RECIPIENT_PICKUP_WITH_ADDRESS",
               "HELD_PACKAGE_NOT_AVAILABLE_FOR_RECIPIENT_PICKUP",
               "SHIPMENT_LABEL_CREATED",
               "SUBSEQUENT_DELIVERY_ATTEMPTED",
               "USPS_DELIVERED",
               "USPS_DELIVERING\""
            ]
         }
      },
      "description":"Commitment message for this package. Informative messages related to the package. Used to convey information such as FedEx has received information about a package but has not yet taken possession of it. FedEx has handed the package off to a third party for final delivery. The package delivery has been cancelled."
   },
   "InformationNoteDetail":{
      "type":"object",
      "properties":{
         "code":{
            "type":"string",
            "description":"Field which holds the code that designates the type of informational message being returned. <br>Example: 'CLEARANCE_ENTRY_FEE_APPLIES'",
            "example":"CLEARANCE_ENTRY_FEE_APPLIES"
         },
         "description":{
            "type":"string",
            "description":"Field which holds the The informational message in human readable form.<br> Example: this is an informational message",
            "example":"this is an informational message"
         }
      },
      "description":"Notifications to the end user that provide additional information relevant to the tracked shipment. For example, a notification may indicate that a change in behavior has occurred."
   },
   "TrackSpecialHandling":{
      "type":"object",
      "properties":{
         "description":{
            "type":"string",
            "description":"Field which holds the text description of the special handling code.<br> Example: Deliver Weekday",
            "example":"Deliver Weekday"
         },
         "type":{
            "type":"string",
            "description":"Field which holds type representing the special handling.<br> Example: DELIVER_WEEKDAY",
            "example":"DELIVER_WEEKDAY"
         },
         "paymentType":{
            "type":"string",
            "description":"Field which holds information about the payment handling related to the special handling.<br> Example: OTHER",
            "example":"OTHER"
         }
      },
      "description":"Specify types of special handlings that are applied to this package.<br><a onclick='loadDocReference(\"fedexexpressspecialhandlingcodes\")'>Click here to see FedEx Express Special Handling Codes.</a>"
   },
   "BarcodeDetail":{
      "type":"object",
      "properties":{
         "type":{
            "type":"string",
            "description":"Field which describes the content in the barcode content.",
            "example":"ADDRESS",
            "enum":[
               "ADDRESS",
               "ASTRA",
               "FEDEX_1D",
               "GROUND",
               "POSTAL",
               "USPS"
            ]
         },
         "value":{
            "type":"string",
            "description":"Field which holds the barcode value.",
            "example":"value"
         }
      },
      "description":"Field which holds the content in the barcode the value."
   },
   "CustomerExceptionRequest":{
      "type":"object",
      "properties":{
         "statusDescription":{
            "type":"string",
            "description":"Field which holds the the status description of the complaint.",
            "example":"statusDescription"
         },
         "createTime":{
            "type":"string",
            "description":"Field which holds the date/time complaint was logged.<br>Format: YYYY-MM-DD<br> example: '2019-05-07T08:00:07'",
            "example":"2007-11-05T00:00:00"
         },
         "id":{
            "type":"string",
            "description":"Field which holds the unique identifier for the customer exception request.",
            "example":"456"
         },
         "type":{
            "type":"string",
            "description":"Field which holds the customer exception request type.",
            "example":"TRACED"
         },
         "statusCode":{
            "type":"string",
            "description":"Field which holds the status of the complaint.",
            "example":"statusCode"
         }
      },
      "description":"Customer complaint information logged to package."
   },
   "RequestorRelationship":{
      "type":"object",
      "properties":{
         "payorClassification":{
            "type":"array",
            "items":{
               "type":"string"
            }
         },
         "matchedAccount":{
            "type":"string",
            "description":"This is the account of the matched track requestor"
         },
         "matchedType":{
            "type":"string",
            "description":"This field describes what attribute of the track  requestor was used to match to the shipment, such as requestor address or account."
         },
         "matchedRole":{
            "type":"string",
            "description":"This field describes the role of the track requestor to the shipment, such as inbound to the requestor, outbound to the requestor, third party requestor or unknown."
         }
      },
      "description":"Relationship of the requestor with the shipment being tracked. Includes detail indicating how the requestor has been matched with this shipment."
   },
   "AvailableImagesDetail":{
      "type":"object",
      "properties":{
         "size":{
            "type":"string",
            "description":"Field which holds the size of available images for the shipment being tracked. Example: LARGE",
            "example":"LARGE",
            "enum":[
               "SMALL",
               "LARGE"
            ]
         },
         "type":{
            "type":"string",
            "description":"Field which holds the type of available images for the shipment being tracked.<br> Example: BILL_OF_LADING",
            "example":"BILL_OF_LADING",
            "enum":[
               "SIGNATURE_PROOF_OF_DELIVERY",
               "BILL_OF_LADING"
            ]
         }
      },
      "description":"The available tracking documents for the shipment being tracked. Available tracking documents includes SPOD and Bill of lading."
   },
   "DeliveryDetails":{
      "type":"object",
      "properties":{
         "receivedByName":{
            "type":"string",
            "description":"Field which holds the name of the person who received the package, if applicable.<br> Example: Receiver",
            "example":"Reciever"
         },
         "destinationServiceArea":{
            "type":"string",
            "description":"Field which holds the destination service area code.<br> Example: EDDUNAVAILABLE",
            "example":"EDDUNAVAILABLE"
         },
         "destinationServiceAreaDescription":{
            "type":"string",
            "description":"Field which holds the description corresponding to the destination service area.<br> Example: Appointment Required",
            "example":"Appointment required"
         },
         "locationDescription":{
            "type":"string",
            "description":"Field which holds the FedEx location description for the package destination.<br> Example: Receptionist/Front Desk",
            "example":"Receptionist/Front Desk"
         },
         "actualDeliveryAddress":{
            "$ref":"#/components/schemas/AddressVO"
         },
         "deliveryToday":{
            "type":"boolean",
            "description":"This element indicates whether the package will be delivered today. The value 'True', indicates that today is package delivery.<br> Example: true",
            "example":false
         },
         "locationType":{
            "type":"string",
            "description":"Field which holds the FedEx location type code for the package destination.<br> Example: FEDEX_EXPRESS_STATION",
            "example":"FEDEX_EXPRESS_STATION"
         },
         "signedByName":{
            "type":"string",
            "description":"Field which holds the name of the person who signed for the package, if applicable.<br> Example: Reciever",
            "example":"Reciever"
         },
         "officeOrderDeliveryMethod":{
            "type":"string",
            "description":"Field which identifies the method of office order delivery. 'Pickup' - the recipient will be picking up the office order from the FedEx Office Center. 'Shipment' - the office order will be delivered to the recipient as a FedEx shipment using the FedEx Service Type requested. 'Courier' - the office order will be delivered to the recipient by local courier. <br> Example: Courier",
            "example":"Courier"
         },
         "deliveryAttempts":{
            "type":"string",
            "description":"Field which holds the number of delivery attempts made to deliver the package.<br> Example: 0",
            "example":"0"
         },
         "deliveryOptionEligibilityDetails":{
            "type":"array",
            "description":"Specifies eligibility type for the different delivery option.",
            "items":{
               "$ref":"#/components/schemas/DeliveryOptionElgibilityDetails"
            }
         }
      },
      "description":"Delivery related information for the tracked package. Provides delivery details as actual delivery address once the package is delivered, the number of delivery attempts made etc."
   },
   "DeliveryOptionElgibilityDetails":{
      "type":"object",
      "properties":{
         "option":{
            "type":"string",
            "description":"Type of delivery option.<br> Example: INDIRECT_SIGNATURE_RELEASE",
            "example":"INDIRECT_SIGNATURE_RELEASE"
         },
         "eligibility":{
            "type":"string",
            "description":"Eligibility of the customer for the specific delivery options.<br> Example: INELIGIBLE",
            "example":"INELIGIBLE"
         }
      },
      "description":"Specifies details of delivery options and its eligibility type"
   },
   "ScanEvent":{
      "type":"object",
      "properties":{
         "date":{
            "type":"string",
            "description":"Date and time of the scan event.<br> Example: '2018-02-02T12:01:00-07:00'",
            "example":"2018-02-02T12:01:00-07:00"
         },
         "derivedStatus":{
            "type":"string",
            "description":"Field which holds status description of the track information for the scan event.<br> Example: 'Picked Up'",
            "example":"Picked Up"
         },
         "scanLocation":{
            "description":"Location Details for the FedEx facility where the scan event occurred.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/LocationDetail"
               }
            ]
         },
         "exceptionDescription":{
            "type":"string",
            "description":"Field which holds the text description for the exception if the event was an exception .<br>Example: Package available for clearance",
            "example":"Package available for clearance"
         },
         "eventDescription":{
            "type":"string",
            "description":"Field which holds the text description of the scan event.<br> Example: 'Picked Up'",
            "example":"Picked Up"
         },
         "eventType":{
            "type":"string",
            "description":"Field which holds the code identifying the type of scan event.<br> Example: 'PU'",
            "example":"PU"
         },
         "derivedStatusCode":{
            "type":"string",
            "description":"Field which holds status code of the track information for the scan event.<br> Example: 'PU'",
            "example":"PU"
         },
         "exceptionCode":{
            "type":"string",
            "description":"Field which holds the code identifier for the exception if the event was an exception. <br> Example: A25",
            "example":"A25"
         }
      },
      "description":"FedEx scanning event information for a package.<br><a onclick='loadDocReference(\"trackservicescancodes\")'>Click here to see Track Service Scan Codes.</a>"
   },
   "CommodityInfo":{
      "type":"object",
      "properties":{
         "countryOfManufacture":{
            "type":"string",
            "description":"Field which holds the countryCode where the commodity was manufactured. Example: US",
            "example":"US"
         },
         "name":{
            "type":"string",
            "description":"Field which holds the name of the commodity. <br> Example: textile samples",
            "example":"textile samples"
         },
         "description":{
            "type":"string",
            "description":"Field which holds the description about the commodity. <br> Example: 10 yards plastic sheeting for demonstration",
            "example":"10 yards plastic sheeting for demonstration"
         },
         "harmonizedCode":{
            "type":"string",
            "description":"Field which holds the harmonized code for the commodity. <br> Example: 1279.20.0022",
            "example":"1279.20.0022"
         },
         "commodityId":{
            "type":"string",
            "description":"Field which holds the id of the commodity. <br> Example: 3902",
            "example":"3902"
         }
      },
      "description":"Holds the information for an individual commodity in a shipment."
   },
   "TrackingDateAndTime":{
      "type":"object",
      "properties":{
         "dateTime":{
            "type":"string",
            "description":"Field which holds the tracking date or timestamp in ISO format.<br>Format: YYYY-MM-DD<br> Example: '2019-05-07'",
            "example":"2007-09-27T00:00:00"
         },
         "type":{
            "type":"string",
            "description":"Field which holds information about the type of tracking date or timestamp.<br> Example: 'ACTUAL_DELIVERY'",
            "example":"ACTUAL_DELIVERY",
            "enum":[
               "ACTUAL_DELIVERY",
               "ACTUAL_PICKUP",
               "ACTUAL_TENDER",
               "ANTICIPATED_TENDER",
               "APPOINTMENT_DELIVERY",
               "ATTEMPTED_DELIVERY",
               "COMMITMENT",
               "ESTIMATED_ARRIVAL_AT_GATEWAY",
               "ESTIMATED_DELIVERY",
               "ESTIMATED_PICKUP",
               "ESTIMATED_RETURN_TO_STATION",
               "SHIP",
               "SHIPMENT_DATA_RECEIVED"
            ]
         }
      },
      "description":"Date and time information for the tracked shipment. Date and time information for the tracked shipment includes various type of date time including when the package was shipped, when it is expected to deliver, when it is actually delivered etc."
   },
   "PackageDetail":{
      "type":"object",
      "properties":{
         "physicalPackagingType":{
            "type":"string",
            "description":"Indicate the physical package type for non-Express shipments.<br><a onclick='loadDocReference(\"subpackagetypes\")'>Click here to see Available Types</a>",
            "example":"BARREL"
         },
         "sequenceNumber":{
            "type":"string",
            "description":"Field which holds the number representing which package in a multi-piece shipment applies to this TrackDetail.<br> Example: 45",
            "example":"45"
         },
         "undeliveredCount":{
            "type":"string",
            "description":"Field which holds information about total count of the undelivered packages in the shipment. <br> Example: 7",
            "example":"7"
         },
         "packagingDescription":{
            "$ref":"#/components/schemas/PackagingDescription"
         },
         "count":{
            "type":"string",
            "description":"Field which holds the total number of pieces in the shipment which includes the package represented by this TrackDetail.<br> Example: 1",
            "example":"1"
         },
         "weightAndDimensions":{
            "$ref":"#/components/schemas/TrackingWeightAndDimensions"
         },
         "packageContent":{
            "type":"array",
            "description":"Field which holds information about the package content of the shipment. Populated for secure users only.<br> Example: wire hangers.",
            "example":[
               "wire hangers",
               "buttons"
            ],
            "items":{
               "type":"string"
            }
         },
         "contentPieceCount":{
            "type":"string",
            "description":"Field which holds information about total count of the packages in the shipment.<br> Example: 100",
            "example":"100"
         },
         "declaredValue":{
            "description":"This is the declared value. Declared Value represents FedEx maximum liability in connection with a shipment of that Package, including but not limited to, any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information relating to the Shipment.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/Amount"
               }
            ]
         }
      },
      "description":"Details of the packages in the shipment being tracked. Includes details like package type, weight, dimensions, declared value, etc."
   },
   "PackagingDescription":{
      "type":"object",
      "properties":{
         "description":{
            "type":"string",
            "description":"Indicate the packaging type description.<br> Example: FedEx Pak",
            "example":"FedEx Pak"
         },
         "type":{
            "type":"string",
            "description":"Indicate the packaging type.<br><a onclick='loadDocReference(\"packagetypes\")'>Click here to see Package Types</a>",
            "example":"FEDEX_PAK"
         }
      },
      "description":"Description of the packaging used for this shipment."
   },
   "TrackingWeightAndDimensions":{
      "type":"object",
      "properties":{
         "dimensionalWeight":{
            "type":"array",
            "description":"Field which holds the dimensional weight. Populated for secure users only.",
            "items":{
               "$ref":"#/components/schemas/Weight"
            }
         },
         "weight":{
            "type":"array",
            "description":"Field which holds the weight of the package.",
            "items":{
               "$ref":"#/components/schemas/Weight"
            }
         },
         "dimensions":{
            "type":"array",
            "description":"Indicate the dimensions of the package.<br> Following conditions will apply: <ul><li>Dimensions are optional but when added, then all three dimensions must be indicated.</li><li>Dimensions are required with YOUR_PACKAGING package type.</li></ul>Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer <a href=\"https://www.fedex.com/en-us/service-guide.html#\" target=\"_blank\">FedEx Service Guide</a> for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.",
            "items":{
               "$ref":"#/components/schemas/Dimensions"
            }
         }
      },
      "description":"Field which holds the weight and dimension information."
   },
   "Weight":{
      "type":"object",
      "properties":{
         "unit":{
            "type":"string",
            "description":"This is package weight type.",
            "example":"LB",
            "enum":[
               "KG",
               "LB"
            ]
         },
         "value":{
            "type":"string",
            "description":"This is package weight. Max. Length is 99999. <br> Example: 22222.0",
            "example":"22222.0"
         }
      },
      "description":"These are the package weight details."
   },
   "Dimensions":{
      "type":"object",
      "properties":{
         "length":{
            "type":"integer",
            "description":"Indicate the length of the package. No implied decimal places. Maximum value: 999 <br> Example: 20",
            "format":"int32",
            "example":100
         },
         "width":{
            "type":"integer",
            "description":"Indicate the width of the package. No implied decimal places. Maximum value: 999 <br> Example: 10",
            "format":"int32",
            "example":50
         },
         "height":{
            "type":"integer",
            "description":"Indicate the height of the package. No implied decimal places. Maximum value: 999 <br> Example: 10",
            "format":"int32",
            "example":30
         },
         "units":{
            "type":"string",
            "description":"Unit of measure for the provided dimensions.<br>Valid Values are IN - inches, CM - centimeters. <br>Note: Any value other than CM including blank/null will default to IN. <br>Example: CM",
            "example":"CM",
            "enum":[
               "CM",
               "IN"
            ]
         }
      },
      "description":"Indicate the dimensions of the package.<br> Following conditions will apply: <ul><li>Dimensions are optional but when added, then all three dimensions must be indicated.</li><li>Dimensions are required with YOUR_PACKAGING package type.</li></ul>Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer <a href=\"https://www.fedex.com/en-us/service-guide.html#\" target=\"_blank\">FedEx Service Guide</a> for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.",
      "example":{
         "length":100,
         "width":50,
         "height":30,
         "units":"CM"
      }
   },
   "CustomDeliveryOption":{
      "type":"object",
      "properties":{
         "requestedAppointmentDetail":{
            "$ref":"#/components/schemas/RequestedAppointmentDetail"
         },
         "description":{
            "type":"string",
            "description":"Field which specifies the description of the custom delivery option requested <br> Example: Redirect the package to the hold location.",
            "example":"Redirect the package to the hold location."
         },
         "type":{
            "type":"string",
            "description":"Field which specifies the type of the custom delivery option requested.<br> Example: REDIRECT_TO_HOLD_AT_LOCATION",
            "example":"REDIRECT_TO_HOLD_AT_LOCATION",
            "enum":[
               "REROUTE",
               "APPOINTMENT",
               "DATE_CERTAIN",
               "EVENING",
               "REDIRECT_TO_HOLD_AT_LOCATION",
               "ELECTRONIC_SIGNATURE_RELEASE"
            ]
         },
         "status":{
            "type":"string",
            "description":"Field which specifies the status of the custom delivery option requested.<br> Example: HELD",
            "example":"HELD"
         }
      },
      "description":"List of delivery options that can be used to customize the delivery of the package."
   },
   "RequestedAppointmentDetail":{
      "type":"object",
      "properties":{
         "date":{
            "type":"string",
            "description":"Field which holds the requested appointment date.<br>Format: YYYY-MM-DD<br> example: '2019-05-07'",
            "example":"2019-05-07"
         },
         "window":{
            "type":"array",
            "description":"Array of different appointment time windows available on the date specified such as, Morning, afternoon, mid-day.",
            "items":{
               "$ref":"#/components/schemas/TimeWindow"
            }
         }
      },
      "description":"Field which specifies the details of the requested appointment."
   },
   "TimeWindow":{
      "type":"object",
      "properties":{
         "description":{
            "type":"string",
            "description":"Field which describes the time window provided. <br> Example: Description field",
            "example":"Description field"
         },
         "window":{
            "$ref":"#/components/schemas/TimeRange"
         },
         "type":{
            "type":"string",
            "description":"Field which holds the code representing the description for the time window provided. <br> Example: ESTIMATED_DELIVERY",
            "example":"ESTIMATED_DELIVERY",
            "enum":[
               "ACTUAL_DELIVERY",
               "ACTUAL_PICKUP",
               "ACTUAL_TENDER",
               "ANTICIPATED_TENDER",
               "APPOINTMENT_DELIVERY",
               "ATTEMPTED_DELIVERY",
               "COMMITMENT",
               "ESTIMATED_ARRIVAL_AT_GATEWAY",
               "ESTIMATED_DELIVERY",
               "ESTIMATED_PICKUP",
               "ESTIMATED_RETURN_TO_STATION",
               "SHIP",
               "SHIPMENT_DATA_RECEIVED"
            ]
         }
      }
   },
   "TimeRange":{
      "type":"object",
      "properties":{
         "begins":{
            "type":"string",
            "description":"Field which holds the begin date/timestamp for a range.<br> Example: '2019-05-07T08:00:07'",
            "example":"2019-11-05T08:10:00"
         },
         "ends":{
            "type":"string",
            "description":"Field which holds the end date/timestamp for a range.<br> Example: '2018-02-06T00:00:00-06:00'",
            "example":"2018-02-06T00:00:00-06:00"
         }
      },
      "description":"Field which holds a date/timestamp window."
   },
   "PieceCountDetail":{
      "type":"object",
      "properties":{
         "count":{
            "type":"string",
            "description":"Field which holds the piece count. <br> Example: 35",
            "example":"35"
         },
         "description":{
            "type":"string",
            "description":"Field which holds the piece count description detail. <br> Example: picec count description",
            "example":"picec count description"
         },
         "type":{
            "type":"string",
            "description":"Field which holds the piece count location type. <br> Example: ORIGIN",
            "example":"ORIGIN",
            "enum":[
               "DESTINATION",
               "ORIGIN"
            ]
         }
      },
      "description":"Specifies the count of the packages delivered and the count of the packages at the origin which can be used for verification purposes. Populated for secure users only."
   },
   "OriginLocation":{
      "description":"Location details for the FedEx facility where the shipment originated.",
      "allOf":[
         {
            "$ref":"#/components/schemas/LocationDetail"
         }
      ]
   },
   "ChargeDetail":{
      "type":"object",
      "properties":{
         "amount":{
            "description":"Field which holds the charges amount for this package.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/Amount"
               }
            ]
         },
         "type":{
            "type":"string",
            "description":"Field which holds the type of charges.",
            "example":"NET_FREIGHT"
         }
      },
      "description":"Field which holds the charge type and amount for the tracked package."
   },
   "TrackShipmentDetail":{
      "type":"object",
      "properties":{
         "contents":{
            "type":"array",
            "description":"Field which holds information about contents of the shipment. Populated for secure users only.",
            "items":{
               "$ref":"#/components/schemas/ShipmentContent"
            }
         },
         "beforePossessionStatus":{
            "type":"boolean",
            "description":"Indicates the shipment is not yet in FedEx possession, but is still in shipper's possession.<br> Example: false",
            "example":false
         },
         "weight":{
            "type":"array",
            "description":"Array of package level weights, which represent the total weight of the shipment.",
            "items":{
               "$ref":"#/components/schemas/Weight"
            }
         },
         "contentPieceCount":{
            "type":"string",
            "description":"Field which holds information about content piece count of the shipment.<br> Example: 3333",
            "example":"3333"
         },
         "splitShipments":{
            "type":"array",
            "description":"Field which holds information about split shipments.",
            "items":{
               "$ref":"#/components/schemas/TrackSplitShipment"
            }
         }
      },
      "description":"Shipment level details for the shipment being tracked. Includes overall shipment weight, contents etc."
   },
   "ShipmentContent":{
      "type":"object",
      "properties":{
         "itemNumber":{
            "type":"string",
            "description":"Field holds the item number for the contents of shipment. <br> Example: RZ5678 ",
            "example":"RZ5678"
         },
         "receivedQuantity":{
            "type":"string",
            "description":"Field which holds information about the quantity received. <br> Example: 13",
            "example":"13"
         },
         "description":{
            "type":"string",
            "description":"Field which holds informative description about shipment content. <br> Example:  pulyurethane rope",
            "example":"pulyurethane rope"
         },
         "partNumber":{
            "type":"string",
            "description":"Holds the part number of the content in shipment. <br> Example: RK1345",
            "example":"RK1345"
         }
      },
      "description":"Field which holds information about contents of the shipment. Populated for secure users only."
   },
   "TrackSplitShipment":{
      "type":"object",
      "properties":{
         "pieceCount":{
            "type":"string",
            "description":"Field which holds the number of pieces in the part.<br> Example: 10",
            "example":"10"
         },
         "statusDescription":{
            "type":"string",
            "description":"Field which holds human-readable description of the status. <br> Example: status",
            "example":"status"
         },
         "timestamp":{
            "type":"string",
            "description":"Field which holds the date and time the status began.<br>Example: '2019-05-07T08:00:07'",
            "example":"2019-05-07T08:00:07"
         },
         "statusCode":{
            "type":"string",
            "description":"Field which holds the status code. <br> Example: statusCode",
            "example":"statuscode"
         }
      },
      "description":"Holds the information about split shipments."
   },
   "CODDetail":{
      "type":"object",
      "properties":{
         "codAmount":{
            "description":"Field which holds the COD collection amount for this package.",
            "allOf":[
               {
                  "$ref":"#/components/schemas/Amount"
               }
            ]
         }
      },
      "description":"Collect on delivery special handling's detail for the package. Provide COD details such as ammount that needs to be collected for the tracked package. Populated for secure users only."
   },
   "WebhookInfo":{
      "required":[
         "destinationURL",
         "event",
         "responseType",
         "securityToken"
      ],
      "properties":{
         "destinationURL":{
            "type":"string",
            "description":"Specifies the server or destination URL where near real-time shipment updates will get pushed.",
            "example":"https://www.retailer.com/webhookurl"
         },
         "securityToken":{
            "type":"string",
            "description":"Specifies the customers security token.It should be minimum length of 25 characters.Must contain at least one (1) upper case, one (1) lower case (not applicable for mainframe applications) and one (1) numeric character.",
            "example":"12D4567g90123456789012345"
         },
         "responseType":{
            "type":"string",
            "description":"Specifies the type of the response user/customer wants to be receive i.e either detailed or event specific.",
            "example":"DETAILED",
            "enum":[
               "DETAILED",
               "EVENT_SPECIFIC"
            ]
         },
         "event":{
            "type":"string",
            "description":"Specifies the event for which user wants to receive a mockup response. Supported events are 'Shipment information sent to FedEx (Label Created), Order created (OC)',' Picked up  (PU)', 'In transit (IT)', 'Ready for pickup (HAL), Item held at delivery office (HL)', ' On FedEx vehicle for Delivery, Out for delivery (OD)', 'Delivered (DL)', 'Delivery Exception (DE)', 'Clearance delay (CD)', 'EDD changes (EDD)', 'EDTW changes (EDTW)'.",
            "example":"DE",
            "enum":[
               "OC",
               "PU",
               "IT",
               "HL",
               "OD",
               "DL",
               "DE",
               "CD",
               "EDD",
               "EDTW"
            ]
         }
      },
      "description":"Describes the information related to the Webhook such as URL, response type, event"
   }
}