package Shipment::FedEx::WSDL::RateTypes::RequestedShipment;
$Shipment::FedEx::WSDL::RateTypes::RequestedShipment::VERSION = '3.05';
use strict;
use warnings;


__PACKAGE__->_set_element_form_qualified(1);

sub get_xmlns {'http://fedex.com/ws/rate/v9'}

our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}

use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

Class::Std::initialize();

{    # BLOCK to scope variables

    my %ShipTimestamp_of : ATTR(:get<ShipTimestamp>);
    my %DropoffType_of : ATTR(:get<DropoffType>);
    my %ServiceType_of : ATTR(:get<ServiceType>);
    my %PackagingType_of : ATTR(:get<PackagingType>);
    my %TotalWeight_of : ATTR(:get<TotalWeight>);
    my %TotalInsuredValue_of : ATTR(:get<TotalInsuredValue>);
    my %Shipper_of : ATTR(:get<Shipper>);
    my %Recipient_of : ATTR(:get<Recipient>);
    my %RecipientLocationNumber_of : ATTR(:get<RecipientLocationNumber>);
    my %Origin_of : ATTR(:get<Origin>);
    my %ShippingChargesPayment_of : ATTR(:get<ShippingChargesPayment>);
    my %SpecialServicesRequested_of : ATTR(:get<SpecialServicesRequested>);
    my %ExpressFreightDetail_of : ATTR(:get<ExpressFreightDetail>);
    my %FreightShipmentDetail_of : ATTR(:get<FreightShipmentDetail>);
    my %DeliveryInstructions_of : ATTR(:get<DeliveryInstructions>);
    my %VariableHandlingChargeDetail_of :
      ATTR(:get<VariableHandlingChargeDetail>);
    my %CustomsClearanceDetail_of : ATTR(:get<CustomsClearanceDetail>);
    my %PickupDetail_of : ATTR(:get<PickupDetail>);
    my %SmartPostDetail_of : ATTR(:get<SmartPostDetail>);
    my %BlockInsightVisibility_of : ATTR(:get<BlockInsightVisibility>);
    my %LabelSpecification_of : ATTR(:get<LabelSpecification>);
    my %ShippingDocumentSpecification_of :
      ATTR(:get<ShippingDocumentSpecification>);
    my %RateRequestTypes_of : ATTR(:get<RateRequestTypes>);
    my %EdtRequestType_of : ATTR(:get<EdtRequestType>);
    my %PackageCount_of : ATTR(:get<PackageCount>);
    my %PackageDetail_of : ATTR(:get<PackageDetail>);
    my %RequestedPackageLineItems_of : ATTR(:get<RequestedPackageLineItems>);

    __PACKAGE__->_factory(
        [   qw(        ShipTimestamp
              DropoffType
              ServiceType
              PackagingType
              TotalWeight
              TotalInsuredValue
              Shipper
              Recipient
              RecipientLocationNumber
              Origin
              ShippingChargesPayment
              SpecialServicesRequested
              ExpressFreightDetail
              FreightShipmentDetail
              DeliveryInstructions
              VariableHandlingChargeDetail
              CustomsClearanceDetail
              PickupDetail
              SmartPostDetail
              BlockInsightVisibility
              LabelSpecification
              ShippingDocumentSpecification
              RateRequestTypes
              EdtRequestType
              PackageCount
              PackageDetail
              RequestedPackageLineItems

              )
        ],
        {   'ShipTimestamp'            => \%ShipTimestamp_of,
            'DropoffType'              => \%DropoffType_of,
            'ServiceType'              => \%ServiceType_of,
            'PackagingType'            => \%PackagingType_of,
            'TotalWeight'              => \%TotalWeight_of,
            'TotalInsuredValue'        => \%TotalInsuredValue_of,
            'Shipper'                  => \%Shipper_of,
            'Recipient'                => \%Recipient_of,
            'RecipientLocationNumber'  => \%RecipientLocationNumber_of,
            'Origin'                   => \%Origin_of,
            'ShippingChargesPayment'   => \%ShippingChargesPayment_of,
            'SpecialServicesRequested' => \%SpecialServicesRequested_of,
            'ExpressFreightDetail'     => \%ExpressFreightDetail_of,
            'FreightShipmentDetail'    => \%FreightShipmentDetail_of,
            'DeliveryInstructions'     => \%DeliveryInstructions_of,
            'VariableHandlingChargeDetail' =>
              \%VariableHandlingChargeDetail_of,
            'CustomsClearanceDetail' => \%CustomsClearanceDetail_of,
            'PickupDetail'           => \%PickupDetail_of,
            'SmartPostDetail'        => \%SmartPostDetail_of,
            'BlockInsightVisibility' => \%BlockInsightVisibility_of,
            'LabelSpecification'     => \%LabelSpecification_of,
            'ShippingDocumentSpecification' =>
              \%ShippingDocumentSpecification_of,
            'RateRequestTypes'          => \%RateRequestTypes_of,
            'EdtRequestType'            => \%EdtRequestType_of,
            'PackageCount'              => \%PackageCount_of,
            'PackageDetail'             => \%PackageDetail_of,
            'RequestedPackageLineItems' => \%RequestedPackageLineItems_of,
        },
        {   'ShipTimestamp' => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime',
            'DropoffType'   => 'Shipment::FedEx::WSDL::RateTypes::DropoffType',
            'ServiceType'   => 'Shipment::FedEx::WSDL::RateTypes::ServiceType',
            'PackagingType' =>
              'Shipment::FedEx::WSDL::RateTypes::PackagingType',
            'TotalWeight'       => 'Shipment::FedEx::WSDL::RateTypes::Weight',
            'TotalInsuredValue' => 'Shipment::FedEx::WSDL::RateTypes::Money',
            'Shipper'           => 'Shipment::FedEx::WSDL::RateTypes::Party',
            'Recipient'         => 'Shipment::FedEx::WSDL::RateTypes::Party',
            'RecipientLocationNumber' =>
              'SOAP::WSDL::XSD::Typelib::Builtin::string',
            'Origin' => 'Shipment::FedEx::WSDL::RateTypes::ContactAndAddress',
            'ShippingChargesPayment' =>
              'Shipment::FedEx::WSDL::RateTypes::Payment',
            'SpecialServicesRequested' =>
              'Shipment::FedEx::WSDL::RateTypes::ShipmentSpecialServicesRequested',
            'ExpressFreightDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::ExpressFreightDetail',
            'FreightShipmentDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::FreightShipmentDetail',
            'DeliveryInstructions' =>
              'SOAP::WSDL::XSD::Typelib::Builtin::string',
            'VariableHandlingChargeDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::VariableHandlingChargeDetail',
            'CustomsClearanceDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::CustomsClearanceDetail',
            'PickupDetail' => 'Shipment::FedEx::WSDL::RateTypes::PickupDetail',
            'SmartPostDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::SmartPostShipmentDetail',
            'BlockInsightVisibility' =>
              'SOAP::WSDL::XSD::Typelib::Builtin::boolean',
            'LabelSpecification' =>
              'Shipment::FedEx::WSDL::RateTypes::LabelSpecification',
            'ShippingDocumentSpecification' =>
              'Shipment::FedEx::WSDL::RateTypes::ShippingDocumentSpecification',
            'RateRequestTypes' =>
              'Shipment::FedEx::WSDL::RateTypes::RateRequestType',
            'EdtRequestType' =>
              'Shipment::FedEx::WSDL::RateTypes::EdtRequestType',
            'PackageCount' =>
              'SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger',
            'PackageDetail' =>
              'Shipment::FedEx::WSDL::RateTypes::RequestedPackageDetailType',
            'RequestedPackageLineItems' =>
              'Shipment::FedEx::WSDL::RateTypes::RequestedPackageLineItem',
        },
        {

            'ShipTimestamp'                 => 'ShipTimestamp',
            'DropoffType'                   => 'DropoffType',
            'ServiceType'                   => 'ServiceType',
            'PackagingType'                 => 'PackagingType',
            'TotalWeight'                   => 'TotalWeight',
            'TotalInsuredValue'             => 'TotalInsuredValue',
            'Shipper'                       => 'Shipper',
            'Recipient'                     => 'Recipient',
            'RecipientLocationNumber'       => 'RecipientLocationNumber',
            'Origin'                        => 'Origin',
            'ShippingChargesPayment'        => 'ShippingChargesPayment',
            'SpecialServicesRequested'      => 'SpecialServicesRequested',
            'ExpressFreightDetail'          => 'ExpressFreightDetail',
            'FreightShipmentDetail'         => 'FreightShipmentDetail',
            'DeliveryInstructions'          => 'DeliveryInstructions',
            'VariableHandlingChargeDetail'  => 'VariableHandlingChargeDetail',
            'CustomsClearanceDetail'        => 'CustomsClearanceDetail',
            'PickupDetail'                  => 'PickupDetail',
            'SmartPostDetail'               => 'SmartPostDetail',
            'BlockInsightVisibility'        => 'BlockInsightVisibility',
            'LabelSpecification'            => 'LabelSpecification',
            'ShippingDocumentSpecification' => 'ShippingDocumentSpecification',
            'RateRequestTypes'              => 'RateRequestTypes',
            'EdtRequestType'                => 'EdtRequestType',
            'PackageCount'                  => 'PackageCount',
            'PackageDetail'                 => 'PackageDetail',
            'RequestedPackageLineItems'     => 'RequestedPackageLineItems',
        }
    );

}    # end BLOCK


1;

__END__

=pod

=encoding UTF-8

=head1 NAME

Shipment::FedEx::WSDL::RateTypes::RequestedShipment

=head1 VERSION

version 3.05

=head1 DESCRIPTION

Perl data type class for the XML Schema defined complexType
RequestedShipment from the namespace http://fedex.com/ws/rate/v9.

The descriptive data for the shipment being tendered to FedEx.

=head2 PROPERTIES

The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:

=over

=item * ShipTimestamp (min/maxOccurs: 0/1)

=item * DropoffType (min/maxOccurs: 0/1)

=item * ServiceType (min/maxOccurs: 0/1)

=item * PackagingType (min/maxOccurs: 0/1)

=item * TotalWeight (min/maxOccurs: 0/1)

=item * TotalInsuredValue (min/maxOccurs: 0/1)

=item * Shipper (min/maxOccurs: 1/1)

=item * Recipient (min/maxOccurs: 1/1)

=item * RecipientLocationNumber (min/maxOccurs: 0/1)

=item * Origin (min/maxOccurs: 0/1)

=item * ShippingChargesPayment (min/maxOccurs: 0/1)

=item * SpecialServicesRequested (min/maxOccurs: 0/1)

=item * ExpressFreightDetail (min/maxOccurs: 0/1)

=item * FreightShipmentDetail (min/maxOccurs: 0/1)

=item * DeliveryInstructions (min/maxOccurs: 0/1)

=item * VariableHandlingChargeDetail (min/maxOccurs: 0/1)

=item * CustomsClearanceDetail (min/maxOccurs: 0/1)

=item * PickupDetail (min/maxOccurs: 0/1)

=item * SmartPostDetail (min/maxOccurs: 0/1)

=item * BlockInsightVisibility (min/maxOccurs: 0/1)

=item * LabelSpecification (min/maxOccurs: 0/1)

=item * ShippingDocumentSpecification (min/maxOccurs: 0/1)

=item * RateRequestTypes (min/maxOccurs: 0/unbounded)

=item * EdtRequestType (min/maxOccurs: 0/1)

=item * PackageCount (min/maxOccurs: 0/1)

=item * PackageDetail (min/maxOccurs: 0/1)

=item * RequestedPackageLineItems (min/maxOccurs: 0/999)

=back

=head1 NAME

Shipment::FedEx::WSDL::RateTypes::RequestedShipment

=head1 METHODS

=head2 new

Constructor. The following data structure may be passed to new():

 { # Shipment::FedEx::WSDL::RateTypes::RequestedShipment
   ShipTimestamp =>  $some_value, # dateTime
   DropoffType => $some_value, # DropoffType
   ServiceType => $some_value, # ServiceType
   PackagingType => $some_value, # PackagingType
   TotalWeight =>  { # Shipment::FedEx::WSDL::RateTypes::Weight
     Units => $some_value, # WeightUnits
     Value =>  $some_value, # decimal
   },
   TotalInsuredValue =>  { # Shipment::FedEx::WSDL::RateTypes::Money
     Currency =>  $some_value, # string
     Amount =>  $some_value, # decimal
   },
   Shipper =>  { # Shipment::FedEx::WSDL::RateTypes::Party
     AccountNumber =>  $some_value, # string
     Tins =>  { # Shipment::FedEx::WSDL::RateTypes::TaxpayerIdentification
       TinType => $some_value, # TinType
       Number =>  $some_value, # string
       Usage =>  $some_value, # string
     },
     Contact =>  { # Shipment::FedEx::WSDL::RateTypes::Contact
       ContactId =>  $some_value, # string
       PersonName =>  $some_value, # string
       Title =>  $some_value, # string
       CompanyName =>  $some_value, # string
       PhoneNumber =>  $some_value, # string
       PhoneExtension =>  $some_value, # string
       PagerNumber =>  $some_value, # string
       FaxNumber =>  $some_value, # string
       EMailAddress =>  $some_value, # string
     },
     Address =>  { # Shipment::FedEx::WSDL::RateTypes::Address
       StreetLines =>  $some_value, # string
       City =>  $some_value, # string
       StateOrProvinceCode =>  $some_value, # string
       PostalCode =>  $some_value, # string
       UrbanizationCode =>  $some_value, # string
       CountryCode =>  $some_value, # string
       Residential =>  $some_value, # boolean
     },
   },
   Recipient => {}, # Shipment::FedEx::WSDL::RateTypes::Party
   RecipientLocationNumber =>  $some_value, # string
   Origin =>  { # Shipment::FedEx::WSDL::RateTypes::ContactAndAddress
     Contact => {}, # Shipment::FedEx::WSDL::RateTypes::Contact
     Address => {}, # Shipment::FedEx::WSDL::RateTypes::Address
   },
   ShippingChargesPayment =>  { # Shipment::FedEx::WSDL::RateTypes::Payment
     PaymentType => $some_value, # PaymentType
     Payor =>  { # Shipment::FedEx::WSDL::RateTypes::Payor
       AccountNumber =>  $some_value, # string
       CountryCode =>  $some_value, # string
     },
   },
   SpecialServicesRequested =>  { # Shipment::FedEx::WSDL::RateTypes::ShipmentSpecialServicesRequested
     SpecialServiceTypes => $some_value, # ShipmentSpecialServiceType
     CodDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CodDetail
       CodCollectionAmount => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       AddTransportationCharges => $some_value, # CodAddTransportationChargesType
       CollectionType => $some_value, # CodCollectionType
       CodRecipient => {}, # Shipment::FedEx::WSDL::RateTypes::Party
       ReferenceIndicator => $some_value, # CodReturnReferenceIndicatorType
     },
     HoldAtLocationDetail =>  { # Shipment::FedEx::WSDL::RateTypes::HoldAtLocationDetail
       PhoneNumber =>  $some_value, # string
       LocationContactAndAddress => {}, # Shipment::FedEx::WSDL::RateTypes::ContactAndAddress
       LocationType => $some_value, # FedExLocationType
       LocationId =>  $some_value, # string
       LocationNumber =>  $some_value, # int
     },
     EMailNotificationDetail =>  { # Shipment::FedEx::WSDL::RateTypes::EMailNotificationDetail
       PersonalMessage =>  $some_value, # string
       Recipients =>  { # Shipment::FedEx::WSDL::RateTypes::EMailNotificationRecipient
         EMailNotificationRecipientType => $some_value, # EMailNotificationRecipientType
         EMailAddress =>  $some_value, # string
         NotifyOnShipment =>  $some_value, # boolean
         NotifyOnException =>  $some_value, # boolean
         NotifyOnDelivery =>  $some_value, # boolean
         Format => $some_value, # EMailNotificationFormatType
         Localization =>  { # Shipment::FedEx::WSDL::RateTypes::Localization
           LanguageCode =>  $some_value, # string
           LocaleCode =>  $some_value, # string
         },
       },
     },
     ReturnShipmentDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ReturnShipmentDetail
       ReturnType => $some_value, # ReturnType
       Rma =>  { # Shipment::FedEx::WSDL::RateTypes::Rma
         Number =>  $some_value, # string
         Reason =>  $some_value, # string
       },
       ReturnEMailDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ReturnEMailDetail
         MerchantPhoneNumber =>  $some_value, # string
         AllowedSpecialServices => $some_value, # ReturnEMailAllowedSpecialServiceType
       },
     },
     PendingShipmentDetail =>  { # Shipment::FedEx::WSDL::RateTypes::PendingShipmentDetail
       Type => $some_value, # PendingShipmentType
       ExpirationDate =>  $some_value, # dateTime
       EmailLabelDetail =>  { # Shipment::FedEx::WSDL::RateTypes::EMailLabelDetail
         NotificationEMailAddress =>  $some_value, # string
         NotificationMessage =>  $some_value, # string
       },
     },
     ShipmentDryIceDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ShipmentDryIceDetail
       PackageCount =>  $some_value, # nonNegativeInteger
       TotalWeight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
     },
     HomeDeliveryPremiumDetail =>  { # Shipment::FedEx::WSDL::RateTypes::HomeDeliveryPremiumDetail
       HomeDeliveryPremiumType => $some_value, # HomeDeliveryPremiumType
       Date =>  $some_value, # date
       PhoneNumber =>  $some_value, # string
     },
     FlatbedTrailerDetail =>  { # Shipment::FedEx::WSDL::RateTypes::FlatbedTrailerDetail
       Options => $some_value, # FlatbedTrailerOption
     },
     FreightGuaranteeDetail =>  { # Shipment::FedEx::WSDL::RateTypes::FreightGuaranteeDetail
       Type => $some_value, # FreightGuaranteeType
       Date =>  $some_value, # date
       Time =>  $some_value, # time
     },
     EtdDetail =>  { # Shipment::FedEx::WSDL::RateTypes::EtdDetail
       RequestedDocumentCopies => $some_value, # RequestedShippingDocumentType
       Documents =>  { # Shipment::FedEx::WSDL::RateTypes::UploadDocumentDetail
         LineNumber =>  $some_value, # nonNegativeInteger
         CustomerReference =>  $some_value, # string
         DocumentProducer => $some_value, # UploadDocumentProducerType
         DocumentType => $some_value, # UploadDocumentType
         FileName =>  $some_value, # string
         DocumentContent =>  $some_value, # base64Binary
       },
       DocumentReferences =>  { # Shipment::FedEx::WSDL::RateTypes::UploadDocumentReferenceDetail
         LineNumber =>  $some_value, # nonNegativeInteger
         CustomerReference =>  $some_value, # string
         DocumentProducer => $some_value, # UploadDocumentProducerType
         DocumentType => $some_value, # UploadDocumentType
         DocumentId =>  $some_value, # string
         DocumentIdProducer => $some_value, # UploadDocumentIdProducer
       },
     },
     CustomDeliveryWindowDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CustomDeliveryWindowDetail
       Type => $some_value, # CustomDeliveryWindowType
       RequestTime =>  $some_value, # time
       RequestRange =>  { # Shipment::FedEx::WSDL::RateTypes::DateRange
         Begins =>  $some_value, # date
         Ends =>  $some_value, # date
       },
       RequestDate =>  $some_value, # date
     },
   },
   ExpressFreightDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ExpressFreightDetail
     PackingListEnclosed =>  $some_value, # boolean
     ShippersLoadAndCount =>  $some_value, # positiveInteger
     BookingConfirmationNumber =>  $some_value, # string
     ReferenceLabelRequested =>  $some_value, # boolean
     BeforeDeliveryContact =>  { # Shipment::FedEx::WSDL::RateTypes::ExpressFreightDetailContact
       Name =>  $some_value, # string
       Phone =>  $some_value, # string
     },
     UndeliverableContact => {}, # Shipment::FedEx::WSDL::RateTypes::ExpressFreightDetailContact
   },
   FreightShipmentDetail =>  { # Shipment::FedEx::WSDL::RateTypes::FreightShipmentDetail
     FedExFreightAccountNumber =>  $some_value, # string
     FedExFreightBillingContactAndAddress => {}, # Shipment::FedEx::WSDL::RateTypes::ContactAndAddress
     FedExNationalFreightAccountNumber =>  $some_value, # string
     FedExNationalFreightBillingContactAndAddress => {}, # Shipment::FedEx::WSDL::RateTypes::ContactAndAddress
     Role => $some_value, # FreightShipmentRoleType
     PaymentType => $some_value, # FreightAccountPaymentType
     DeclaredValuePerUnit => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     DeclaredValueUnits =>  $some_value, # string
     LiabilityCoverageDetail =>  { # Shipment::FedEx::WSDL::RateTypes::LiabilityCoverageDetail
       CoverageType => $some_value, # LiabilityCoverageType
       CoverageAmount => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     },
     Coupons =>  $some_value, # string
     TotalHandlingUnits =>  $some_value, # nonNegativeInteger
     ClientDiscountPercent =>  $some_value, # decimal
     PalletWeight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
     ShipmentDimensions =>  { # Shipment::FedEx::WSDL::RateTypes::Dimensions
       Length => $some_value, # atomic
       Width => $some_value, # atomic
       Height => $some_value, # atomic
       Units => $some_value, # LinearUnits
     },
     Comment =>  $some_value, # string
     SpecialServicePayments =>  { # Shipment::FedEx::WSDL::RateTypes::FreightSpecialServicePayment
       SpecialService => $some_value, # ShipmentSpecialServiceType
       PaymentType => $some_value, # FreightAccountPaymentType
     },
     LineItems =>  { # Shipment::FedEx::WSDL::RateTypes::FreightShipmentLineItem
       FreightClass => $some_value, # FreightClassType
       Packaging => $some_value, # PhysicalPackagingType
       Description =>  $some_value, # string
       Weight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
       Dimensions => {}, # Shipment::FedEx::WSDL::RateTypes::Dimensions
       Volume =>  { # Shipment::FedEx::WSDL::RateTypes::Volume
         Units => $some_value, # VolumeUnits
         Value =>  $some_value, # decimal
       },
     },
   },
   DeliveryInstructions =>  $some_value, # string
   VariableHandlingChargeDetail =>  { # Shipment::FedEx::WSDL::RateTypes::VariableHandlingChargeDetail
     VariableHandlingChargeType => $some_value, # VariableHandlingChargeType
     FixedValue => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     PercentValue =>  $some_value, # decimal
   },
   CustomsClearanceDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CustomsClearanceDetail
     Broker => {}, # Shipment::FedEx::WSDL::RateTypes::Party
     ClearanceBrokerage => $some_value, # ClearanceBrokerageType
     ImporterOfRecord => {}, # Shipment::FedEx::WSDL::RateTypes::Party
     RecipientCustomsId =>  { # Shipment::FedEx::WSDL::RateTypes::RecipientCustomsId
       Type => $some_value, # RecipientCustomsIdType
       Value =>  $some_value, # string
     },
     DutiesPayment => {}, # Shipment::FedEx::WSDL::RateTypes::Payment
     DocumentContent => $some_value, # InternationalDocumentContentType
     CustomsValue => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     FreightOnValue => $some_value, # FreightOnValueType
     InsuranceCharges => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     PartiesToTransactionAreRelated =>  $some_value, # boolean
     CommercialInvoice =>  { # Shipment::FedEx::WSDL::RateTypes::CommercialInvoice
       Comments =>  $some_value, # string
       FreightCharge => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       TaxesOrMiscellaneousCharge => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       PackingCosts => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       HandlingCosts => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       SpecialInstructions =>  $some_value, # string
       DeclarationStatment =>  $some_value, # string
       PaymentTerms =>  $some_value, # string
       Purpose => $some_value, # PurposeOfShipmentType
       PurposeOfShipmentDescription =>  $some_value, # string
       CustomerInvoiceNumber =>  $some_value, # string
       OriginatorName =>  $some_value, # string
       TermsOfSale => $some_value, # TermsOfSaleType
     },
     Commodities =>  { # Shipment::FedEx::WSDL::RateTypes::Commodity
       Name =>  $some_value, # string
       NumberOfPieces =>  $some_value, # nonNegativeInteger
       Description =>  $some_value, # string
       CountryOfManufacture =>  $some_value, # string
       HarmonizedCode =>  $some_value, # string
       Weight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
       Quantity =>  $some_value, # nonNegativeInteger
       QuantityUnits =>  $some_value, # string
       AdditionalMeasures =>  { # Shipment::FedEx::WSDL::RateTypes::Measure
         Quantity =>  $some_value, # decimal
         Units =>  $some_value, # string
       },
       UnitPrice => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       CustomsValue => {}, # Shipment::FedEx::WSDL::RateTypes::Money
       ExciseConditions =>  { # Shipment::FedEx::WSDL::RateTypes::EdtExciseCondition
         Category =>  $some_value, # string
         Value =>  $some_value, # string
       },
       ExportLicenseNumber =>  $some_value, # string
       ExportLicenseExpirationDate =>  $some_value, # date
       CIMarksAndNumbers =>  $some_value, # string
       NaftaDetail =>  { # Shipment::FedEx::WSDL::RateTypes::NaftaCommodityDetail
         PreferenceCriterion => $some_value, # NaftaPreferenceCriterionCode
         ProducerDetermination => $some_value, # NaftaProducerDeterminationCode
         ProducerId =>  $some_value, # string
         NetCostMethod => $some_value, # NaftaNetCostMethodCode
         NetCostDateRange => {}, # Shipment::FedEx::WSDL::RateTypes::DateRange
       },
     },
     ExportDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ExportDetail
       B13AFilingOption => $some_value, # B13AFilingOptionType
       ExportComplianceStatement =>  $some_value, # string
       PermitNumber =>  $some_value, # string
       DestinationControlDetail =>  { # Shipment::FedEx::WSDL::RateTypes::DestinationControlDetail
         StatementTypes => $some_value, # DestinationControlStatementType
         DestinationCountries =>  $some_value, # string
         EndUser =>  $some_value, # string
       },
     },
     RegulatoryControls => $some_value, # RegulatoryControlType
   },
   PickupDetail =>  { # Shipment::FedEx::WSDL::RateTypes::PickupDetail
     ReadyDateTime =>  $some_value, # dateTime
     LatestPickupDateTime =>  $some_value, # dateTime
     CourierInstructions =>  $some_value, # string
     RequestType => $some_value, # PickupRequestType
     RequestSource => $some_value, # PickupRequestSourceType
   },
   SmartPostDetail =>  { # Shipment::FedEx::WSDL::RateTypes::SmartPostShipmentDetail
     Indicia => $some_value, # SmartPostIndiciaType
     AncillaryEndorsement => $some_value, # SmartPostAncillaryEndorsementType
     HubId =>  $some_value, # string
     CustomerManifestId =>  $some_value, # string
   },
   BlockInsightVisibility =>  $some_value, # boolean
   LabelSpecification =>  { # Shipment::FedEx::WSDL::RateTypes::LabelSpecification
     LabelFormatType => $some_value, # LabelFormatType
     ImageType => $some_value, # ShippingDocumentImageType
     LabelStockType => $some_value, # LabelStockType
     LabelPrintingOrientation => $some_value, # LabelPrintingOrientationType
     LabelRotation => $some_value, # LabelRotationType
     PrintedLabelOrigin => {}, # Shipment::FedEx::WSDL::RateTypes::ContactAndAddress
     CustomerSpecifiedDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CustomerSpecifiedLabelDetail
       DocTabContent =>  { # Shipment::FedEx::WSDL::RateTypes::DocTabContent
         DocTabContentType => $some_value, # DocTabContentType
         Zone001 =>  { # Shipment::FedEx::WSDL::RateTypes::DocTabContentZone001
           DocTabZoneSpecifications =>  { # Shipment::FedEx::WSDL::RateTypes::DocTabZoneSpecification
             ZoneNumber =>  $some_value, # positiveInteger
             Header =>  $some_value, # string
             DataField =>  $some_value, # string
             LiteralValue =>  $some_value, # string
             Justification => $some_value, # DocTabZoneJustificationType
           },
         },
         Barcoded =>  { # Shipment::FedEx::WSDL::RateTypes::DocTabContentBarcoded
           Symbology => $some_value, # BarcodeSymbologyType
           Specification => {}, # Shipment::FedEx::WSDL::RateTypes::DocTabZoneSpecification
         },
       },
       CustomContent =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelDetail
         CoordinateUnits => $some_value, # CustomLabelCoordinateUnits
         TextEntries =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelTextEntry
           Position =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelPosition
             X =>  $some_value, # nonNegativeInteger
             Y =>  $some_value, # nonNegativeInteger
           },
           Format =>  $some_value, # string
           DataFields =>  $some_value, # string
           ThermalFontId =>  $some_value, # string
           FontName =>  $some_value, # string
           FontSize =>  $some_value, # positiveInteger
         },
         GraphicEntries =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelGraphicEntry
           Position => {}, # Shipment::FedEx::WSDL::RateTypes::CustomLabelPosition
           PrinterGraphicId =>  $some_value, # string
           FileGraphicFullName =>  $some_value, # string
         },
         BoxEntries =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelBoxEntry
           TopLeftCorner => {}, # Shipment::FedEx::WSDL::RateTypes::CustomLabelPosition
           BottomRightCorner => {}, # Shipment::FedEx::WSDL::RateTypes::CustomLabelPosition
         },
         BarcodeEntries =>  { # Shipment::FedEx::WSDL::RateTypes::CustomLabelBarcodeEntry
           Position => {}, # Shipment::FedEx::WSDL::RateTypes::CustomLabelPosition
           Format =>  $some_value, # string
           DataFields =>  $some_value, # string
           BarHeight =>  $some_value, # int
           ThinBarWidth =>  $some_value, # int
           BarcodeSymbology => $some_value, # BarcodeSymbologyType
         },
       },
       ConfigurableReferenceEntries =>  { # Shipment::FedEx::WSDL::RateTypes::ConfigurableLabelReferenceEntry
         ZoneNumber =>  $some_value, # positiveInteger
         Header =>  $some_value, # string
         DataField =>  $some_value, # string
         LiteralValue =>  $some_value, # string
       },
       MaskedData => $some_value, # LabelMaskableDataType
       TermsAndConditionsLocalization => {}, # Shipment::FedEx::WSDL::RateTypes::Localization
       AdditionalLabels =>  { # Shipment::FedEx::WSDL::RateTypes::AdditionalLabelsDetail
         Type => $some_value, # AdditionalLabelsType
         Count =>  $some_value, # nonNegativeInteger
       },
       AirWaybillSuppressionCount =>  $some_value, # nonNegativeInteger
     },
   },
   ShippingDocumentSpecification =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentSpecification
     ShippingDocumentTypes => $some_value, # RequestedShippingDocumentType
     CertificateOfOrigin =>  { # Shipment::FedEx::WSDL::RateTypes::CertificateOfOriginDetail
       DocumentFormat =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
         Dispositions =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentDispositionDetail
           DispositionType => $some_value, # ShippingDocumentDispositionType
           Grouping => $some_value, # ShippingDocumentGroupingType
           EMailDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentEMailDetail
             EMailRecipients =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentEMailRecipient
               RecipientType => $some_value, # EMailNotificationRecipientType
               Address =>  $some_value, # string
             },
             Grouping => $some_value, # ShippingDocumentEMailGroupingType
           },
           PrintDetail =>  { # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentPrintDetail
             PrinterId =>  $some_value, # string
           },
         },
         TopOfPageOffset =>  { # Shipment::FedEx::WSDL::RateTypes::LinearMeasure
           Value =>  $some_value, # decimal
           Units => $some_value, # LinearUnits
         },
         ImageType => $some_value, # ShippingDocumentImageType
         StockType => $some_value, # ShippingDocumentStockType
         ProvideInstructions =>  $some_value, # boolean
         Localization => {}, # Shipment::FedEx::WSDL::RateTypes::Localization
       },
       CustomerImageUsages =>  { # Shipment::FedEx::WSDL::RateTypes::CustomerImageUsage
         Type => $some_value, # CustomerImageUsageType
         Id => $some_value, # ImageId
       },
     },
     CommercialInvoiceDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CommercialInvoiceDetail
       Format => {}, # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
       CustomerImageUsages => {}, # Shipment::FedEx::WSDL::RateTypes::CustomerImageUsage
     },
     CustomPackageDocumentDetail =>  { # Shipment::FedEx::WSDL::RateTypes::CustomDocumentDetail
       Format => {}, # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
       LabelPrintingOrientation => $some_value, # LabelPrintingOrientationType
       LabelRotation => $some_value, # LabelRotationType
       SpecificationId =>  $some_value, # string
     },
     CustomShipmentDocumentDetail => {}, # Shipment::FedEx::WSDL::RateTypes::CustomDocumentDetail
     GeneralAgencyAgreementDetail =>  { # Shipment::FedEx::WSDL::RateTypes::GeneralAgencyAgreementDetail
       Format => {}, # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
     },
     NaftaCertificateOfOriginDetail =>  { # Shipment::FedEx::WSDL::RateTypes::NaftaCertificateOfOriginDetail
       Format => {}, # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
       BlanketPeriod => {}, # Shipment::FedEx::WSDL::RateTypes::DateRange
       ImporterSpecification => $some_value, # NaftaImporterSpecificationType
       SignatureContact => {}, # Shipment::FedEx::WSDL::RateTypes::Contact
       ProducerSpecification => $some_value, # NaftaProducerSpecificationType
       Producers =>  { # Shipment::FedEx::WSDL::RateTypes::NaftaProducer
         Id =>  $some_value, # string
         Producer => {}, # Shipment::FedEx::WSDL::RateTypes::Party
       },
       CustomerImageUsages => {}, # Shipment::FedEx::WSDL::RateTypes::CustomerImageUsage
     },
     Op900Detail =>  { # Shipment::FedEx::WSDL::RateTypes::Op900Detail
       Format => {}, # Shipment::FedEx::WSDL::RateTypes::ShippingDocumentFormat
       Reference => $some_value, # CustomerReferenceType
       CustomerImageUsages => {}, # Shipment::FedEx::WSDL::RateTypes::CustomerImageUsage
       SignatureName =>  $some_value, # string
     },
   },
   RateRequestTypes => $some_value, # RateRequestType
   EdtRequestType => $some_value, # EdtRequestType
   PackageCount =>  $some_value, # nonNegativeInteger
   PackageDetail => $some_value, # RequestedPackageDetailType
   RequestedPackageLineItems =>  { # Shipment::FedEx::WSDL::RateTypes::RequestedPackageLineItem
     SequenceNumber =>  $some_value, # positiveInteger
     GroupNumber =>  $some_value, # nonNegativeInteger
     GroupPackageCount =>  $some_value, # nonNegativeInteger
     VariableHandlingChargeDetail => {}, # Shipment::FedEx::WSDL::RateTypes::VariableHandlingChargeDetail
     InsuredValue => {}, # Shipment::FedEx::WSDL::RateTypes::Money
     Weight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
     Dimensions => {}, # Shipment::FedEx::WSDL::RateTypes::Dimensions
     PhysicalPackaging => $some_value, # PhysicalPackagingType
     ItemDescription =>  $some_value, # string
     CustomerReferences =>  { # Shipment::FedEx::WSDL::RateTypes::CustomerReference
       CustomerReferenceType => $some_value, # CustomerReferenceType
       Value =>  $some_value, # string
     },
     SpecialServicesRequested =>  { # Shipment::FedEx::WSDL::RateTypes::PackageSpecialServicesRequested
       SpecialServiceTypes => $some_value, # PackageSpecialServiceType
       CodDetail => {}, # Shipment::FedEx::WSDL::RateTypes::CodDetail
       DangerousGoodsDetail =>  { # Shipment::FedEx::WSDL::RateTypes::DangerousGoodsDetail
         Accessibility => $some_value, # DangerousGoodsAccessibilityType
         CargoAircraftOnly =>  $some_value, # boolean
         Options => $some_value, # HazardousCommodityOptionType
         HazardousCommodities =>  { # Shipment::FedEx::WSDL::RateTypes::HazardousCommodityContent
           Description =>  { # Shipment::FedEx::WSDL::RateTypes::HazardousCommodityDescription
             Id =>  $some_value, # string
             PackingGroup => $some_value, # HazardousCommodityPackingGroupType
             ProperShippingName =>  $some_value, # string
             TechnicalName =>  $some_value, # string
             HazardClass =>  $some_value, # string
             SubsidiaryClasses =>  $some_value, # string
             LabelText =>  $some_value, # string
           },
           Quantity =>  { # Shipment::FedEx::WSDL::RateTypes::HazardousCommodityQuantityDetail
             Amount =>  $some_value, # decimal
             Units =>  $some_value, # string
           },
           Options =>  { # Shipment::FedEx::WSDL::RateTypes::HazardousCommodityOptionDetail
             LabelTextOption => $some_value, # HazardousCommodityLabelTextOptionType
             CustomerSuppliedLabelText =>  $some_value, # string
           },
         },
         Packaging =>  { # Shipment::FedEx::WSDL::RateTypes::HazardousCommodityPackagingDetail
           Count =>  $some_value, # nonNegativeInteger
           Units =>  $some_value, # string
         },
         EmergencyContactNumber =>  $some_value, # string
       },
       DryIceWeight => {}, # Shipment::FedEx::WSDL::RateTypes::Weight
       SignatureOptionDetail =>  { # Shipment::FedEx::WSDL::RateTypes::SignatureOptionDetail
         OptionType => $some_value, # SignatureOptionType
         SignatureReleaseNumber =>  $some_value, # string
       },
       PriorityAlertDetail =>  { # Shipment::FedEx::WSDL::RateTypes::PriorityAlertDetail
         Content =>  $some_value, # string
       },
     },
     ContentRecords =>  { # Shipment::FedEx::WSDL::RateTypes::ContentRecord
       PartNumber =>  $some_value, # string
       ItemNumber =>  $some_value, # string
       ReceivedQuantity =>  $some_value, # nonNegativeInteger
       Description =>  $some_value, # string
     },
   },
 },

=head1 AUTHOR

Generated by SOAP::WSDL

=head1 AUTHOR

Andrew Baerg <baergaj@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Andrew Baerg.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut