{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fedex/json-schema/fedex-transit-time-output-vo-schema.json",
  "title": "TransitTimeOutputVO",
  "description": "Gives the transit time details of the shipment based on the request provided.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fedex-service-availability-api-openapi.yml#/components/schemas/TransitTimeOutputVO",
  "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"
    },
    "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"
    },
    "output": {
      "description": "This is the output response details for the services and transit time request.",
      "allOf": [
        {
          "$ref": "#/$defs/TransitTimeOutput"
        }
      ]
    }
  },
  "$defs": {
    "Alert": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Specifies the api alert code."
        },
        "alertType": {
          "type": "string",
          "description": "Specifies the api alert type.",
          "enum": [
            "NOTE",
            "WARNING"
          ]
        },
        "message": {
          "type": "string",
          "description": "Specifies the api alert message."
        }
      },
      "description": "Specifies the api alerts."
    },
    "CleansedAddressandLocationDetail": {
      "type": "object",
      "properties": {
        "serviceArea": {
          "type": "string",
          "description": "This is the FedEx recognized service area code."
        },
        "countryCode": {
          "type": "string",
          "description": "This represents the FedEx-system recognized country code.<br>Example: US<br><a onclick='loadDocReference(\"countrycodes\")'>Click here to see Country Codes</a>"
        },
        "locationId": {
          "type": "string",
          "description": "This is the unique FedEx location identifier."
        },
        "airportId": {
          "type": "string",
          "description": "This is a FedEx unique identifier for the Airport."
        },
        "postalCode": {
          "type": "string",
          "description": "This represents the FedEx-system recognized postal code."
        },
        "stateOrProvinceCode": {
          "type": "string",
          "description": "This represents the FedEx-system recognized state or province code."
        },
        "locationNumber": {
          "type": "integer",
          "description": "The op-co specific numeric identifier for a FedEx location.",
          "format": "int32,"
        }
      },
      "description": "This is the internal FedEx-system recognized address and location details."
    },
    "CommitDetail": {
      "type": "object",
      "properties": {
        "brokerCommitTimestamp": {
          "type": "string",
          "description": "The delivery commitment date/time the shipment will arrive at the border. <br>format [YYYY-MM-DDTHH:MM:SS:00Z]"
        },
        "cutOffTime": {
          "type": "string",
          "description": "Identifies the latest allowed ready time for the pickup option. The time is local to the pickup postal code. It includes a TZD (time zone designator) for FedEx Freight requests.<br> Format:  HH:MM:SS <br> Example: 18:30:00",
          "format": "HH:MM:SS"
        },
        "commodityName": {
          "type": "string",
          "description": "The Commodity applicable to this commitment."
        },
        "transitDays": {
          "$ref": "#/$defs/CommitDetail_transitDays"
        },
        "commitMessageDetails": {
          "type": "string",
          "description": "This is a message concerning the ability to provide an accurate delivery commitment on an International commit quote. These could be messages providing information about why a commitment could not be returned or a successful message such as 'REQUEST COMPLETED' "
        },
        "derivedDestinationDetail": {
          "description": "FedEx internal destination address/location details.",
          "allOf": [
            {
              "$ref": "#/$defs/CleansedAddressandLocationDetail"
            }
          ]
        },
        "dateDetail": {
          "$ref": "#/$defs/CommitDetail_dateDetail"
        }
      },
      "description": "The delivery commitment details."
    },
    "CommitDetail_dateDetail": {
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "type": "string",
          "description": "This is a day of week in a shorter day format<br>Example: MON, TUE"
        },
        "time": {
          "type": "string",
          "description": "This is time in a day. <br> Format: [HH:MM:SS]<br>example: 09:30:00"
        },
        "day": {
          "type": "string",
          "description": "This is the day in format [MM-DD-YYYY]<br>example: Apr-13-2021"
        }
      },
      "description": "Specific date and time."
    },
    "CommitDetail_transitDays": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Specifies the number of days the package/shipment is to be in transit."
        },
        "minimumTransitTime": {
          "type": "string",
          "description": "This is a code indicating the number of transit days available.",
          "enum": [
            "EIGHT_DAYS",
            "EIGHTEEN_DAYS",
            "ELEVEN_DAYS",
            "FIFTEEN_DAYS",
            "FIVE_DAYS",
            "FOUR_DAYS",
            "FOURTEEN_DAYS",
            "NINE_DAYS",
            "NINETEEN_DAYS",
            "ONE_DAY",
            "SEVEN_DAYS",
            "SEVENTEEN_DAYS",
            "SIX_DAYS",
            "SIXTEEN_DAYS",
            "TEN_DAYS",
            "THIRTEEN_DAYS",
            "THREE_DAYS",
            "TWELVE_DAYS",
            "TWENTY_DAYS",
            "TWO_DAYS",
            "SMARTPOST_TRANSIT_DAYS",
            "UNKNOWN"
          ]
        },
        "maximumTransitTime": {
          "type": "string"
        }
      },
      "description": "The number of days the package/shipment is to be in transit. Applies to Ground and LTL Freight; indicates minimum transit time for SmartPost."
    },
    "CustomerMessage": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Specifies the message Code received.<br> Example:SERVICE.TYPE.INTERNATIONAL.MESSAGE"
        },
        "message": {
          "type": "string",
          "description": "Specifies the message received by the customer.<br>                                  Example: Rate does not include duties & taxes, clearance entry fees or other import fees. The payor of duties/taxes/fees will be responsible for any applicable Clearance Entry Fees."
        }
      },
      "description": "Messages concerning the ability to provide an accurate delivery commitment on an International commit quote.  These could be messages providing information about why a commitment could not be returned or a successful message such as REQUEST_COMPLETED"
    },
    "Distance": {
      "type": "object",
      "properties": {
        "units": {
          "type": "string",
          "description": "Indicates the unit of measure for the distance value.",
          "enum": [
            "KM",
            "MI"
          ]
        },
        "value": {
          "type": "number",
          "description": "Indicates the distance quantity.",
          "format": "double"
        }
      },
      "description": "This is a total distance between origin and destination city centers for freight shipments."
    },
    "LocationDetail": {
      "type": "object",
      "properties": {
        "geoPositionalCoordinates": {
          "$ref": "#/$defs/LocationDetail_geoPositionalCoordinates"
        }
      }
    },
    "LocationDetail_geoPositionalCoordinates": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "description": "Field holds the latitude value",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "description": "Field holds the longitude value",
          "format": "double"
        }
      },
      "description": "the ISO6709GeographicCoordinates for a specific geographic location"
    },
    "TransitTime": {
      "type": "object",
      "properties": {
        "transitTimeDetails": {
          "type": "array",
          "description": "Specifies the details regarding transit times.",
          "items": {
            "$ref": "#/$defs/TransitTimeDetail"
          }
        }
      },
      "description": "Specifies the commit time for a FedEx Ground shipment."
    },
    "TransitTimeDetail": {
      "type": "object",
      "properties": {
        "serviceType": {
          "type": "string",
          "description": "Type of the service is returned."
        },
        "customerMessages": {
          "type": "array",
          "description": "These are messages returned in the response.",
          "items": {
            "$ref": "#/$defs/CustomerMessage"
          }
        },
        "distance": {
          "$ref": "#/$defs/Distance"
        },
        "commit": {
          "$ref": "#/$defs/CommitDetail"
        },
        "destinationLocation": {
          "$ref": "#/$defs/LocationDetail"
        },
        "serviceName": {
          "type": "string",
          "description": "Name of service returned."
        }
      },
      "description": "These are the transit time associated with the available shipment services."
    },
    "TransitTimeOutput": {
      "type": "object",
      "properties": {
        "alerts": {
          "type": "array",
          "description": "These are alert details received with the response.",
          "items": {
            "$ref": "#/$defs/Alert"
          }
        },
        "transitTimes": {
          "type": "array",
          "description": "These are services and transit times details received in the response.",
          "items": {
            "$ref": "#/$defs/TransitTime"
          }
        },
        "encoded": {
          "type": "boolean",
          "description": "This field specifies the encoded flag."
        }
      },
      "description": "This is the output response details for the services and transit time request."
    }
  }
}