private string GetPickupTypeCode(OntracPickupType pickupType)
        {
            switch (pickupType)
            {
            case OntracPickupType.DailyPickup:
                return("01");

            case OntracPickupType.CustomerCounter:
                return("03");

            case OntracPickupType.OneTimePickup:
                return("06");

            case OntracPickupType.OnCallAir:
                return("07");

            case OntracPickupType.SuggestedRetailRates:
                return("11");

            case OntracPickupType.LetterCenter:
                return("19");

            case OntracPickupType.AirServiceCenter:
                return("20");

            default:
                throw new NopException("Unknown Ontrac pickup type code");
            }
        }
        private string CreateRequest(string accessKey, string username, string password,
                                     GetShippingOptionRequest getShippingOptionRequest, OntracCustomerClassification customerClassification,
                                     OntracPickupType pickupType, OntracPackagingType packagingType, bool saturdayDelivery)
        {
            var zipPostalCodeFrom = getShippingOptionRequest.ZipPostalCodeFrom;
            var zipPostalCodeTo   = getShippingOptionRequest.ShippingAddress.ZipPostalCode;
            var countryCodeFrom   = getShippingOptionRequest.CountryFrom.TwoLetterIsoCode;
            var countryCodeTo     = getShippingOptionRequest.ShippingAddress.Country.TwoLetterIsoCode;
            var stateCodeFrom     = getShippingOptionRequest.StateProvinceFrom?.Abbreviation;
            var stateCodeTo       = getShippingOptionRequest.ShippingAddress.StateProvince?.Abbreviation;


            _orderTotalCalculationService.GetShoppingCartSubTotal(getShippingOptionRequest.Items.Select(x => x.ShoppingCartItem).ToList(),
                                                                  false, out decimal _, out List <DiscountForCaching> _, out decimal orderSubTotal, out decimal _);


            // Rate request setup - Total Dimensions of Shopping Cart Items determines number of packages

            var usedMeasureWeight    = GetUsedMeasureWeight();
            var usedMeasureDimension = GetUsedMeasureDimension();

            _shippingService.GetDimensions(getShippingOptionRequest.Items, out decimal widthTmp, out decimal lengthTmp, out decimal heightTmp, true);

            var length = ConvertFromPrimaryMeasureDimension(lengthTmp, usedMeasureDimension);
            var height = ConvertFromPrimaryMeasureDimension(heightTmp, usedMeasureDimension);
            var width  = ConvertFromPrimaryMeasureDimension(widthTmp, usedMeasureDimension);
            var weight = ConvertFromPrimaryMeasureWeight(_shippingService.GetTotalWeight(getShippingOptionRequest, ignoreFreeShippedItems: true), usedMeasureWeight);

            if (length < 1)
            {
                length = 1;
            }
            if (height < 1)
            {
                height = 1;
            }
            if (width < 1)
            {
                width = 1;
            }
            if (weight < 1)
            {
                weight = 1;
            }

            var totalPackagesDims    = 1;
            var totalPackagesWeights = 1;

            if (IsPackageTooHeavy(weight))
            {
                totalPackagesWeights = Convert.ToInt32(Math.Ceiling((decimal)weight / (decimal)MAXPACKAGEWEIGHT));
            }
            if (IsPackageTooLarge(length, height, width))
            {
                totalPackagesDims = Convert.ToInt32(Math.Ceiling((decimal)TotalPackageSize(length, height, width) / (decimal)108));
            }
            var totalPackages = totalPackagesDims > totalPackagesWeights ? totalPackagesDims : totalPackagesWeights;

            if (totalPackages == 0)
            {
                totalPackages = 1;
            }


            //The maximum declared amount per package: 50000 USD.
            var InsureCost = _ontracSettings.InsurePackage ? Convert.ToInt32(orderSubTotal / totalPackages) : 0;

            //var Product = "S";
            var res       = "true";
            var urlString = "?pw=" + password + "&packages=ID1;" + zipPostalCodeFrom + ";" + zipPostalCodeTo + ";" +
                            res + ";0.00;false;" + InsureCost + ";" + weight + ";" + length + "X" + width + "X" + height + ";";


            return(urlString);
        }