{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fedex/json-schema/fedex-advc-response-vo-schema.json",
  "title": "AdvcResponseVO",
  "description": "Wrapper class for AddressResolutionOutputVO. It holds transactionId and output.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fedex-address-validation-api-openapi.yml#/components/schemas/AdvcResponseVO",
  "type": "object",
  "properties": {
    "transactionId": {
      "type": "string",
      "description": "Unique identifier returned in the reply and helps you match the request to the reply.<br>Example: XXX_ORDERXXXX789"
    },
    "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><br> Example: XXX_ORDERXXXX789"
    },
    "output": {
      "$ref": "#/$defs/BaseProcessOutputVO"
    }
  },
  "$defs": {
    "AddressResolutionOutputVOV3": {
      "type": "object",
      "properties": {
        "resolvedAddresses": {
          "type": "array",
          "description": "Indicates the list of resolved addresses. The detailed resolved address includes city, state, postal information, and resolution method.",
          "items": {
            "$ref": "#/$defs/ResolvedAddress"
          }
        },
        "alerts": {
          "type": "array",
          "description": "Indicates API Alerts includes alert type, alert code, and alert message that is received when the address is resolved.",
          "items": {
            "$ref": "#/$defs/Alert"
          }
        }
      },
      "description": "Indicates the resolved address parameters."
    },
    "Alert": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Indicates the API alert code."
        },
        "message": {
          "type": "string",
          "description": "Indicates the API alert message."
        },
        "alertType": {
          "type": "string",
          "description": "Indicates the API alert type.",
          "enum": [
            "NOTE",
            "WARNING"
          ]
        }
      },
      "description": "Specifies the API alerts."
    },
    "BaseProcessOutputVO": {
      "$ref": "#/$defs/AddressResolutionOutputVOV3"
    },
    "CustomerMessage": {
      "description": "Returns messages pertaining to the resolved address indicating if any additional information is required."
    },
    "ParsedPostalCode": {
      "type": "object",
      "properties": {
        "base": {
          "type": "string",
          "description": "Indicates the base.<br> Example: 00926"
        },
        "addOn": {
          "type": "string",
          "description": "Indicates the secondary value in Postal Code.<br> Example: 2716"
        },
        "deliveryPoint": {
          "type": "string",
          "description": "Indicates the tertiary value in Postal Code.<br> Example: 50"
        }
      },
      "description": "The postal code specified in a form that is supported by USPS as base, secondary and tertiary.<ul><li>Base</li><li>AddOn</li><li>DeliveryPoint</li></ul>Example: 75063-8659"
    },
    "ResolutionToken": {
      "type": "object",
      "properties": {
        "changed": {
          "type": "boolean",
          "description": "Indicates if it has changed from the input address."
        },
        "value": {
          "type": "string",
          "description": "Indicates the changed value.<br> Example: SAN JUAN"
        }
      },
      "description": "Specifies the resolved attribute with a token indicating if it was changed or not."
    },
    "ResolvedAddress": {
      "type": "object",
      "properties": {
        "streetLinesToken": {
          "type": "array",
          "description": "Indicates the resolved street address lines.<br>Example: [\\\"7372 PARKRIDGE BLVD\\\", \\\"APT 286, 2903 sprank\\\"]",
          "items": {
            "type": "string"
          }
        },
        "city": {
          "type": "string",
          "description": "This is resolved city name.<br> Example: IRVING"
        },
        "stateOrProvinceCode": {
          "type": "string",
          "description": "This is resolved state or province code.<br>Example: TX<br><a onclick='loadDocReference(\"canadaprovincecodes\")'>Click here to see State Or Province Code</a>"
        },
        "countryCode": {
          "type": "string",
          "description": "This is resolved ISO alpha 2 country code.<br>Example: US<br><a onclick='loadDocReference(\"countrycodes\")'>Click here to see Country Codes</a>"
        },
        "customerMessage": {
          "type": "array",
          "description": "Returns messages pertaining to the resolved address indicating if any additional information is required.<br><br>Following are informational code and messages with respect to the results:<ul><li><i>INVALID.SUITE.NUMBER</i> &ndash; Invalid or missing Apartment/Suite</li><li><i>SUITE.NUMBER.REQUIRED</i> &ndash; Invalid or missing Apartment/Suite</li><li><i>PARTIAL.STREET.MATCH</i> &ndash; A street address is required for delivery. The entered address is a street number range.</li><li><i>MISSING.OR.AMBIGUOUS.DIRECTIONAL</i> &ndash; Invalid or missing address directional.</li><li><i>INTERPOLATED.STREET.ADDRESS</i> &ndash; Unable to confirm exact street number for the entered street name. The address falls within a valid range for the street name.</li><li><i>RRHC.CONVERSION</i> &ndash; A street address is required for delivery. The address has been converted from a rural route.</li></ul>",
          "items": {
            "$ref": "#/$defs/CustomerMessage"
          }
        },
        "cityToken": {
          "type": "array",
          "description": "This is the resolved city name with a token. The token is an indication to the changes made.<br> Examples: [TOK-1X3256]",
          "items": {
            "$ref": "#/$defs/ResolutionToken"
          }
        },
        "postalCodeToken": {
          "description": "This is the resolved postal code with a token. The token is an indication to the changes made.",
          "allOf": [
            {
              "$ref": "#/$defs/ResolutionToken"
            }
          ]
        },
        "parsedPostalCode": {
          "$ref": "#/$defs/ParsedPostalCode"
        },
        "classification": {
          "type": "string",
          "description": "This is the classification type of a FedEx address.<br>Valid values:<ul><li>BUSINESS</li><li>RESIDENTIAL</li><li>MIXED (If it is a multi-tenant based address and contains both business and residential units.)</li><li>UNKNOWN (If just a zip code is provided, Address Validation Service returns 'unknown' for the business/residential classification.)</li>",
          "enum": [
            "MIXED",
            "UNKNOWN",
            "BUSINESS",
            "RESIDENTIAL"
          ]
        },
        "postOfficeBox": {
          "type": "boolean",
          "description": "Indicates if the resolved address is a P.O. Box."
        },
        "normalizedStatusNameDPV": {
          "type": "boolean",
          "description": "Indicates the presence of a delivery point such as a mailbox. Provided only for US addresses that are standardized against Postal Data."
        },
        "standardizedStatusNameMatchSource": {
          "type": "string",
          "description": "Indicates the source from which the standardized address is matched. <br> Example: Postal or Map."
        },
        "resolutionMethodName": {
          "type": "string",
          "description": "Indicates the resolution method used to resolve the address. <br>Valid values: <ul><li>USPS_VALIDATE</li><li>CA_VALIDATE</li><li>GENERIC_VALIDATE</li><li>NAVTEQ_GEO_VALIDATE</li><li>TELEATLAS_GEO_VALIDATE</li></ul>"
        },
        "ruralRouteHighwayContract": {
          "type": "boolean",
          "description": "Indicates if the resolved address is a Rural Route or Highway Contract (US only). It returns true if it is rural route. "
        },
        "generalDelivery": {
          "type": "boolean",
          "description": "Indicates the mail service is for those without permanent address. The mails for this address are held at a post office. Only applies to addresses that can be standardized against Postal Data. Not provided for US Geo Validated addresses. <br>Note: Only returned when the address cannot be resolved."
        },
        "attributes": {
          "type": "object",
          "description": "These are the  key-value pair as additional information returned along with the address processed by the system. These attribute will list what is working and what is not on the input address. For More information, look in to Chapter Address Attributes in the Overview.<br><a onclick='loadDocReference(\"addressattributes\")'>Click here to see Address Attributes</a>",
          "properties": {
            "POBox": {
              "type": "boolean",
              "description": "true indicates the input address is a POBox."
            },
            "POBoxOnlyZIP": {
              "type": "boolean",
              "description": "True indicates a POBox only postal code."
            },
            "SplitZip": {
              "type": "boolean",
              "description": "True indicates when the address comes under a new ZIP code that did not exists previously."
            },
            "SuiteRequiredButMissing": {
              "type": "string",
              "description": "True indicates the resolved address includes a suite number, but it was missing in the request."
            },
            "InvalidSuiteNumber": {
              "type": "string",
              "description": "True indicates an invalid suite number."
            },
            "ResolutionInput": {
              "type": "string",
              "description": "Type of input information (Currently only option is RAW_ADDRESS)."
            },
            "DPV": {
              "type": "boolean",
              "description": "True indicates the postal delivery address is valid delivery point."
            },
            "ResolutionMethod": {
              "type": "string",
              "description": "Indicates the type of resolution method utilized to resolve the address.  Valid Values:  USPS_VALIDATE (US postal), NAVTEQ_GEO_VALIDATE or RELEATLAS_GEO_VALIDATED (US geo/map validated), CA_VALIDATE (Canada postal), GENERIC_VALIADTE (other validation)."
            },
            "DataVintage": {
              "type": "string",
              "description": "Month and year of the reference data that was used to identify the address."
            },
            "MatchSource": {
              "type": "string",
              "description": "Indicates 'Postal' or 'Map' date was used to match the address."
            },
            "CountrySupported": {
              "type": "boolean",
              "description": "True indicates the country is supported by the Address Validation service."
            },
            "ValidlyFormed": {
              "type": "boolean",
              "description": "True indicates the address is in a valid format."
            },
            "Matched": {
              "type": "boolean",
              "description": "True indicates the address matches to a record in the address validation repository."
            },
            "Resolved": {
              "type": "boolean",
              "description": "True indicates the address was successfully resolved."
            },
            "Inserted": {
              "type": "boolean",
              "description": "True indicates the address was inserted into the Address data repository."
            },
            "MultiUnitBase": {
              "type": "boolean",
              "description": "True indicates that an input address was resolved to a standardized address for the base address of a multi-unit building. False indicates that the address was not resolved to a standardized address for the base address of a multi-unit building."
            },
            "ZIP11Match": {
              "type": "boolean",
              "description": "True indicates the input address was resolved to a standardized address based upon a Zip-11 postal code match. This is the highest level of postal code validation."
            },
            "ZIP4Match": {
              "type": "boolean",
              "description": "True indicates that the input address was resolved to a standardized address based upon at least a ZIP+4 match, for example 80003-5581."
            },
            "UniqueZIP": {
              "type": "boolean",
              "description": "True indicates that the postal code of the address is unique for a specific postal customer address. The ZIP may apply to a single unit or floor within a building, to an entire building, or to an institution or corporate campus."
            },
            "StreetAddress": {
              "type": "boolean",
              "description": "True indicates that the house number and street name were validated against reference data."
            },
            "RRConversion": {
              "type": "boolean",
              "description": "True indicates a Rural Route conversion was applied to the address in order to process it."
            },
            "ValidMultiUnit": {
              "type": "boolean",
              "description": "True indicates address contains multiple units."
            },
            "AddressType": {
              "type": "string",
              "description": "valid values:<br>RAW - address country not supported.<br>NORMALIZED - address country supported, but unable to match the address against reference data.<br>STANDARDIZED - address service was able to successfully match the address against reference data."
            },
            "AddressPrecision": {
              "type": "string",
              "description": "Indicates the depth/precision of the address.  MULTI_TENANT_UNIT indicates that the address has valid secondary information.<br>MULTI_TENANT_BASE indicates that the address is a valid multi tentant location but secondary information either was not provided or could not be validated.<br>PO_BOX indicates that the local postal authority services the address through a PO Box.<br>UNIQUE_ZIP indicates that the address could be validated to the postal code level and that postal code is a unique zip for the USPS.<br>STREET_ADDRESS / Street indicates that the location is not a valid multi tenant location.<br>StreetBuilding indicates that the address was validated to a building name that is in the reference data.<br>StreetOrganization indicates that the address was validated to an organization name that is in the reference data.<br>StreetName indicates that the address was validated to the street name level in reference data and the house number (if provided) could not be validated.valid values:<br>MULTI_TENANT_UNIT- address consists of multiple units, some could be BUSINESS, some could be MIXED."
            },
            "MultipleMatches": {
              "type": "boolean",
              "description": "True indicates the address requested has multiple matches available, usually due to a simPle difference such as a leading directional."
            }
          }
        }
      }
    }
  }
}