Sample code for 30+ languages & platforms
Classic ASP

UPS Rate Request

See more UPS Examples

Simple UPS Rate Example

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set http = Server.CreateObject("Chilkat.Http")

' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON

' The following JSON is sent in the request body.

' {
'   "RateRequest": {
'     "Request": {
'       "TransactionReference": {
'         "CustomerContext": "CustomerContext"
'       }
'     },
'     "Shipment": {
'       "Shipper": {
'         "Name": "ShipperName",
'         "ShipperNumber": "ShipperNumber",
'         "Address": {
'           "AddressLine": [
'             "ShipperAddressLine",
'             "ShipperAddressLine",
'             "ShipperAddressLine"
'           ],
'           "City": "TIMONIUM",
'           "StateProvinceCode": "MD",
'           "PostalCode": "21093",
'           "CountryCode": "US"
'         }
'       },
'       "ShipTo": {
'         "Name": "ShipToName",
'         "Address": {
'           "AddressLine": [
'             "ShipToAddressLine",
'             "ShipToAddressLine",
'             "ShipToAddressLine"
'           ],
'           "City": "Alpharetta",
'           "StateProvinceCode": "GA",
'           "PostalCode": "30005",
'           "CountryCode": "US"
'         }
'       },
'       "ShipFrom": {
'         "Name": "ShipFromName",
'         "Address": {
'           "AddressLine": [
'             "ShipFromAddressLine",
'             "ShipFromAddressLine",
'             "ShipFromAddressLine"
'           ],
'           "City": "TIMONIUM",
'           "StateProvinceCode": "MD",
'           "PostalCode": "21093",
'           "CountryCode": "US"
'         }
'       },
'       "PaymentDetails": {
'         "ShipmentCharge": {
'           "Type": "01",
'           "BillShipper": {
'             "AccountNumber": "ShipperNumber"
'           }
'         }
'       },
'       "Service": {
'         "Code": "03",
'         "Description": "Ground"
'       },
'       "NumOfPieces": "1",
'       "Package": {
'         "PackagingType": {
'           "Code": "02",
'           "Description": "Packaging"
'         },
'         "Dimensions": {
'           "UnitOfMeasurement": {
'             "Code": "IN",
'             "Description": "Inches"
'           },
'           "Length": "5",
'           "Width": "5",
'           "Height": "5"
'         },
'         "PackageWeight": {
'           "UnitOfMeasurement": {
'             "Code": "LBS",
'             "Description": "Pounds"
'           },
'           "Weight": "1"
'         }
'       }
'     }
'   }
' }

set json = Server.CreateObject("Chilkat.JsonObject")
success = json.UpdateString("RateRequest.Request.TransactionReference.CustomerContext","CustomerContext")
success = json.UpdateString("RateRequest.Shipment.Shipper.Name","ShipperName")
success = json.UpdateString("RateRequest.Shipment.Shipper.ShipperNumber","ShipperNumber")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[0]","ShipperAddressLine")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[1]","ShipperAddressLine")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[2]","ShipperAddressLine")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.City","TIMONIUM")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.StateProvinceCode","MD")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.PostalCode","21093")
success = json.UpdateString("RateRequest.Shipment.Shipper.Address.CountryCode","US")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Name","ShipToName")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[0]","ShipToAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[1]","ShipToAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[2]","ShipToAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.City","Alpharetta")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.StateProvinceCode","GA")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.PostalCode","30005")
success = json.UpdateString("RateRequest.Shipment.ShipTo.Address.CountryCode","US")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Name","ShipFromName")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[0]","ShipFromAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[1]","ShipFromAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[2]","ShipFromAddressLine")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.City","TIMONIUM")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.StateProvinceCode","MD")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.PostalCode","21093")
success = json.UpdateString("RateRequest.Shipment.ShipFrom.Address.CountryCode","US")
success = json.UpdateString("RateRequest.Shipment.PaymentDetails.ShipmentCharge.Type","01")
success = json.UpdateString("RateRequest.Shipment.PaymentDetails.ShipmentCharge.BillShipper.AccountNumber","ShipperNumber")
success = json.UpdateString("RateRequest.Shipment.Service.Code","03")
success = json.UpdateString("RateRequest.Shipment.Service.Description","Ground")
success = json.UpdateString("RateRequest.Shipment.NumOfPieces","1")
success = json.UpdateString("RateRequest.Shipment.Package.PackagingType.Code","02")
success = json.UpdateString("RateRequest.Shipment.Package.PackagingType.Description","Packaging")
success = json.UpdateString("RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Code","IN")
success = json.UpdateString("RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Description","Inches")
success = json.UpdateString("RateRequest.Shipment.Package.Dimensions.Length","5")
success = json.UpdateString("RateRequest.Shipment.Package.Dimensions.Width","5")
success = json.UpdateString("RateRequest.Shipment.Package.Dimensions.Height","5")
success = json.UpdateString("RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Code","LBS")
success = json.UpdateString("RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Description","Pounds")
success = json.UpdateString("RateRequest.Shipment.Package.PackageWeight.Weight","1")

' Load the OAuth2 access token obtained via client credentials as shown 
' in this UPS OAuth2 Client Credentials example.

set jsonToken = Server.CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/ups_oauth2_token.json")
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Failed to load ups_oauth2_token.json") & "</pre>"
    Response.End
End If

' The access token JSON looks something like this:

' {
'   "token_type": "Bearer",
'   "issued_at": "1686911985606",
'   "client_id": "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt",
'   "access_token": "eyJraW......R2sbqrY",
'   "expires_in": "14399",
'   "status": "approved"
' }

' Adds the "Authorization: Bearer <YOUR_TOKEN_HERE>" header.
http.AuthToken = jsonToken.StringOf("access_token")
http.SetRequestHeader "Content-Type","application/json"
http.SetRequestHeader "transId","string"
http.SetRequestHeader "transactionSrc","testing"

' The "version" indicates Rate API to display the new release features in Rate API response based on Rate release.
' Supported values: v1, v1601, v1607, v1701, v1707, v2108, v2205.
success = http.SetUrlVar("version","v1")

' The "requestoption" has the following valid values:
' Rate = The server rates (The default Request option is Rate if a Request Option is not provided). 
' Shop = The server validates the shipment, and returns rates for all UPS products from the ShipFrom to the ShipTo addresses. 
' Rate is the only valid request option for Ground Freight Pricing requests.
success = http.SetUrlVar("requestoption","Rate")

set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpJson("POST","https://wwwcie.ups.com/api/rating/{$version}/{$requestoption}?additionalinfo=string",json,"application/json",resp)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

set sbResponseBody = Server.CreateObject("Chilkat.StringBuilder")
success = resp.GetBodySb(sbResponseBody)

set jResp = Server.CreateObject("Chilkat.JsonObject")
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Response.Write "<pre>" & Server.HTMLEncode( "Response Body:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( jResp.Emit()) & "</pre>"

' ----------------------------------------------------------------------------------------------------------
' Important: If you get the following error response, read further for the solution..
' 
' {
'   "response": {
'     "errors": [
'       {
'         "code": "250002",
'         "message": "Invalid Authentication Information."
'       }
'     ]
'   }
' }
' 
' It means you didn't add the Rating API permission to your app.
' To add the Rating API, login to your developer account and go to your Apps page at https://developer.ups.com/apps?loc=en_US
' Then edit your app and add the Rating API.
' ----------------------------------------------------------------------------------------------------------

respStatusCode = resp.StatusCode
Response.Write "<pre>" & Server.HTMLEncode( "Response Status Code = " & respStatusCode) & "</pre>"
If (respStatusCode >= 400) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Response Header:") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( resp.Header) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>"
    Response.End
End If

' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' {
'   "RateResponse": {
'     "Response": {
'       "ResponseStatus": {
'         "Code": "s",
'         "Description": "string"
'       },
'       "Alert": [
'         {
'           "Code": "string",
'           "Description": "string"
'         }
'       ],
'       "AlertDetail": [
'         {
'           "Code": "string",
'           "Description": "string",
'           "ElementLevelInformation": {
'             "Level": "s",
'             "ElementIdentifier": [
'               {
'                 "Code": null,
'                 "Value": null
'               }
'             ]
'           }
'         }
'       ],
'       "TransactionReference": {
'         "CustomerContext": "string"
'       }
'     },
'     "RatedShipment": [
'       {
'         "Disclaimer": [
'           {
'             "Code": "st",
'             "Description": "string"
'           }
'         ],
'         "Service": {
'           "Code": "str",
'           "Description": "string"
'         },
'         "RateChart": "s",
'         "RatedShipmentAlert": [
'           {
'             "Code": "string",
'             "Description": "string"
'           }
'         ],
'         "BillableWeightCalculationMethod": "st",
'         "RatingMethod": "st",
'         "BillingWeight": {
'           "UnitOfMeasurement": {
'             "Code": "str",
'             "Description": "string"
'           },
'           "Weight": "strin"
'         },
'         "TransportationCharges": {
'           "CurrencyCode": "str",
'           "MonetaryValue": "stringstringstri"
'         },
'         "BaseServiceCharge": {
'           "CurrencyCode": "str",
'           "MonetaryValue": "stringstringstri"
'         },
'         "ItemizedCharges": [
'           {
'             "Code": "str",
'             "Description": "string",
'             "CurrencyCode": "str",
'             "MonetaryValue": "string",
'             "SubType": "string"
'           }
'         ],
'         "FRSShipmentData": {
'           "TransportationCharges": {
'             "GrossCharge": {
'               "CurrencyCode": "str",
'               "MonetaryValue": "string"
'             },
'             "DiscountAmount": {
'               "CurrencyCode": "str",
'               "MonetaryValue": "string"
'             },
'             "DiscountPercentage": "st",
'             "NetCharge": {
'               "CurrencyCode": "str",
'               "MonetaryValue": "string"
'             }
'           },
'           "FreightDensityRate": {
'             "Density": "strin",
'             "TotalCubicFeet": "string"
'           },
'           "HandlingUnits": [
'             {
'               "Quantity": "string",
'               "Type": {
'                 "Code": null,
'                 "Description": null
'               },
'               "Dimensions": {
'                 "UnitOfMeasurement": null,
'                 "Length": null,
'                 "Width": null,
'                 "Height": null
'               },
'               "AdjustedHeight": {
'                 "Value": null,
'                 "UnitOfMeasurement": null
'               }
'             }
'           ]
'         },
'         "ServiceOptionsCharges": {
'           "CurrencyCode": "str",
'           "MonetaryValue": "string"
'         },
'         "TaxCharges": [
'           {
'             "Type": "string",
'             "MonetaryValue": "string"
'           }
'         ],
'         "TotalCharges": {
'           "CurrencyCode": "str",
'           "MonetaryValue": "string"
'         },
'         "TotalChargesWithTaxes": {
'           "CurrencyCode": "str",
'           "MonetaryValue": "string"
'         },
'         "NegotiatedRateCharges": {
'           "ItemizedCharges": [
'             {
'               "Code": "str",
'               "Description": "string",
'               "CurrencyCode": "str",
'               "MonetaryValue": "string",
'               "SubType": "string"
'             }
'           ],
'           "TaxCharges": [
'             {
'               "Type": "string",
'               "MonetaryValue": "string"
'             }
'           ],
'           "TotalCharge": {
'             "CurrencyCode": "string",
'             "MonetaryValue": "string"
'           },
'           "TotalChargesWithTaxes": {
'             "CurrencyCode": "string",
'             "MonetaryValue": "string"
'           }
'         },
'         "RatedPackage": [
'           {
'             "BaseServiceCharge": {
'               "CurrencyCode": "str",
'               "MonetaryValue": "string"
'             },
'             "TransportationCharges": {
'               "CurrencyCode": "string",
'               "MonetaryValue": "string"
'             },
'             "ServiceOptionsCharges": {
'               "CurrencyCode": "string",
'               "MonetaryValue": "string"
'             },
'             "TotalCharges": {
'               "CurrencyCode": "string",
'               "MonetaryValue": "string"
'             },
'             "Weight": "string",
'             "BillingWeight": {
'               "UnitOfMeasurement": {
'                 "Code": null,
'                 "Description": null
'               },
'               "Weight": "string"
'             },
'             "Accessorial": [
'               {
'                 "Code": null,
'                 "Description": null
'               }
'             ],
'             "ItemizedCharges": [
'               {
'                 "Code": null,
'                 "Description": null,
'                 "CurrencyCode": null,
'                 "MonetaryValue": null,
'                 "SubType": null
'               }
'             ],
'             "NegotiatedCharges": {
'               "ItemizedCharges": [
'                 null
'               ]
'             },
'             "SimpleRate": {
'               "Code": "st"
'             },
'             "RateModifier": [
'               {
'                 "ModifierType": null,
'                 "ModifierDesc": null,
'                 "Amount": null
'               }
'             ]
'           }
'         ],
'         "TimeInTransit": {
'           "PickupDate": "stringst",
'           "DocumentsOnlyIndicator": "string",
'           "PackageBillType": "st",
'           "ServiceSummary": {
'             "Service": {
'               "Description": "string"
'             },
'             "GuaranteedIndicator": "string",
'             "Disclaimer": "string",
'             "EstimatedArrival": {
'               "Arrival": {
'                 "Date": null,
'                 "Time": null
'               },
'               "BusinessDaysInTransit": "strin",
'               "Pickup": {
'                 "Date": null,
'                 "Time": null
'               },
'               "DayOfWeek": "string",
'               "CustomerCenterCutoff": "string",
'               "DelayCount": "str",
'               "HolidayCount": "st",
'               "RestDays": "st",
'               "TotalTransitDays": "strin"
'             },
'             "SaturdayDelivery": "string",
'             "SaturdayDeliveryDisclaimer": "string",
'             "SundayDelivery": "string",
'             "SundayDeliveryDisclaimer": "string"
'           },
'           "AutoDutyCode": "st",
'           "Disclaimer": "string"
'         },
'         "ScheduledDeliveryDate": "string",
'         "RoarRatedIndicator": "string"
'       }
'     ]
'   }
' }

' Sample code for parsing the JSON response...
' Use the following online tool to generate parsing code from sample JSON:
' Generate Parsing Code from JSON

Code = jResp.StringOf("RateResponse.Response.ResponseStatus.Code")
Description = jResp.StringOf("RateResponse.Response.ResponseStatus.Description")
CustomerContext = jResp.StringOf("RateResponse.Response.TransactionReference.CustomerContext")
i = 0
count_i = jResp.SizeOfArray("RateResponse.Response.Alert")
Do While i < count_i
    jResp.I = i
    Code = jResp.StringOf("RateResponse.Response.Alert[i].Code")
    Description = jResp.StringOf("RateResponse.Response.Alert[i].Description")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("RateResponse.Response.AlertDetail")
Do While i < count_i
    jResp.I = i
    Code = jResp.StringOf("RateResponse.Response.AlertDetail[i].Code")
    Description = jResp.StringOf("RateResponse.Response.AlertDetail[i].Description")
    Level = jResp.StringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.Level")
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier")
    Do While j < count_j
        jResp.J = j
        Code = jResp.StringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Code")
        Value = jResp.StringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Value")
        j = j + 1
    Loop
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("RateResponse.RatedShipment")
Do While i < count_i
    jResp.I = i
    ServiceCode = jResp.StringOf("RateResponse.RatedShipment[i].Service.Code")
    ServiceDescription = jResp.StringOf("RateResponse.RatedShipment[i].Service.Description")
    RateChart = jResp.StringOf("RateResponse.RatedShipment[i].RateChart")
    BillableWeightCalculationMethod = jResp.StringOf("RateResponse.RatedShipment[i].BillableWeightCalculationMethod")
    RatingMethod = jResp.StringOf("RateResponse.RatedShipment[i].RatingMethod")
    UnitOfMeasurementCode = jResp.StringOf("RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Code")
    UnitOfMeasurementDescription = jResp.StringOf("RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Description")
    Weight = jResp.StringOf("RateResponse.RatedShipment[i].BillingWeight.Weight")
    CurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].TransportationCharges.CurrencyCode")
    MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].TransportationCharges.MonetaryValue")
    BaseServiceChargeCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].BaseServiceCharge.CurrencyCode")
    BaseServiceChargeMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].BaseServiceCharge.MonetaryValue")
    GrossChargeCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.CurrencyCode")
    GrossChargeMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.MonetaryValue")
    DiscountAmountCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.CurrencyCode")
    DiscountAmountMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.MonetaryValue")
    DiscountPercentage = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountPercentage")
    NetChargeCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.CurrencyCode")
    NetChargeMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.MonetaryValue")
    Density = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.Density")
    TotalCubicFeet = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.TotalCubicFeet")
    ServiceOptionsChargesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].ServiceOptionsCharges.CurrencyCode")
    ServiceOptionsChargesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].ServiceOptionsCharges.MonetaryValue")
    TotalChargesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].TotalCharges.CurrencyCode")
    TotalChargesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].TotalCharges.MonetaryValue")
    TotalChargesWithTaxesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].TotalChargesWithTaxes.CurrencyCode")
    TotalChargesWithTaxesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].TotalChargesWithTaxes.MonetaryValue")
    TotalChargeCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.CurrencyCode")
    TotalChargeMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.MonetaryValue")
    TotalChargesWithTaxesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.CurrencyCode")
    TotalChargesWithTaxesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.MonetaryValue")
    PickupDate = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.PickupDate")
    DocumentsOnlyIndicator = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.DocumentsOnlyIndicator")
    PackageBillType = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.PackageBillType")
    ServiceDescription = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Service.Description")
    GuaranteedIndicator = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.GuaranteedIndicator")
    Disclaimer = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Disclaimer")
    Date = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Date")
    Time = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Time")
    BusinessDaysInTransit = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.BusinessDaysInTransit")
    PickupDate = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Date")
    PickupTime = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Time")
    DayOfWeek = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DayOfWeek")
    CustomerCenterCutoff = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.CustomerCenterCutoff")
    DelayCount = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DelayCount")
    HolidayCount = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.HolidayCount")
    RestDays = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.RestDays")
    TotalTransitDays = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.TotalTransitDays")
    SaturdayDelivery = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDelivery")
    SaturdayDeliveryDisclaimer = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDeliveryDisclaimer")
    SundayDelivery = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDelivery")
    SundayDeliveryDisclaimer = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDeliveryDisclaimer")
    AutoDutyCode = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.AutoDutyCode")
    TimeInTransitDisclaimer = jResp.StringOf("RateResponse.RatedShipment[i].TimeInTransit.Disclaimer")
    ScheduledDeliveryDate = jResp.StringOf("RateResponse.RatedShipment[i].ScheduledDeliveryDate")
    RoarRatedIndicator = jResp.StringOf("RateResponse.RatedShipment[i].RoarRatedIndicator")
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].Disclaimer")
    Do While j < count_j
        jResp.J = j
        Code = jResp.StringOf("RateResponse.RatedShipment[i].Disclaimer[j].Code")
        Description = jResp.StringOf("RateResponse.RatedShipment[i].Disclaimer[j].Description")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedShipmentAlert")
    Do While j < count_j
        jResp.J = j
        Code = jResp.StringOf("RateResponse.RatedShipment[i].RatedShipmentAlert[j].Code")
        Description = jResp.StringOf("RateResponse.RatedShipment[i].RatedShipmentAlert[j].Description")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].ItemizedCharges")
    Do While j < count_j
        jResp.J = j
        Code = jResp.StringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].Code")
        Description = jResp.StringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].Description")
        CurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].CurrencyCode")
        MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].MonetaryValue")
        SubType = jResp.StringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].SubType")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits")
    Do While j < count_j
        jResp.J = j
        Quantity = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Quantity")
        TypeCode = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Code")
        TypeDescription = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Description")
        UnitOfMeasurement = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.UnitOfMeasurement")
        Length = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Length")
        Width = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Width")
        Height = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Height")
        AdjustedHeightValue = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.Value")
        AdjustedHeightUnitOfMeasurement = jResp.StringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.UnitOfMeasurement")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].TaxCharges")
    Do While j < count_j
        jResp.J = j
        v_Type = jResp.StringOf("RateResponse.RatedShipment[i].TaxCharges[j].Type")
        MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].TaxCharges[j].MonetaryValue")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges")
    Do While j < count_j
        jResp.J = j
        Code = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Code")
        Description = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Description")
        CurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].CurrencyCode")
        MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].MonetaryValue")
        SubType = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].SubType")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges")
    Do While j < count_j
        jResp.J = j
        v_Type = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].Type")
        MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].MonetaryValue")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedPackage")
    Do While j < count_j
        jResp.J = j
        BaseServiceChargeCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.CurrencyCode")
        BaseServiceChargeMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.MonetaryValue")
        TransportationChargesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.CurrencyCode")
        TransportationChargesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.MonetaryValue")
        ServiceOptionsChargesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.CurrencyCode")
        ServiceOptionsChargesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.MonetaryValue")
        TotalChargesCurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.CurrencyCode")
        TotalChargesMonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.MonetaryValue")
        Weight = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].Weight")
        UnitOfMeasurementCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Code")
        UnitOfMeasurementDescription = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Description")
        BillingWeightWeight = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.Weight")
        SimpleRateCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].SimpleRate.Code")
        k = 0
        count_k = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial")
        Do While k < count_k
            jResp.K = k
            Code = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Code")
            Description = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Description")
            k = k + 1
        Loop
        k = 0
        count_k = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges")
        Do While k < count_k
            jResp.K = k
            Code = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Code")
            Description = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Description")
            CurrencyCode = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].CurrencyCode")
            MonetaryValue = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].MonetaryValue")
            SubType = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].SubType")
            k = k + 1
        Loop
        k = 0
        count_k = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges")
        Do While k < count_k
            jResp.K = k
            nullVal = jResp.IsNullOf("RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges[k]")
            k = k + 1
        Loop
        k = 0
        count_k = jResp.SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier")
        Do While k < count_k
            jResp.K = k
            ModifierType = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierType")
            ModifierDesc = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierDesc")
            Amount = jResp.StringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].Amount")
            k = k + 1
        Loop
        j = j + 1
    Loop
    i = i + 1
Loop

%>
</body>
</html>