<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:lc="http://www.ups.com/schema/xpci/1.0/lc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ups.com/schema/xpci/1.0/lc" elementFormDefault="qualified">
	<xsd:element name="LandedCostRequest">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Request" type="lc:RequestTransportType"/>
				<xsd:choice>
					<xsd:element name="QueryRequest" type="lc:QueryRequestType"/>
					<xsd:element name="EstimateRequest" type="lc:EstimateRequestType"/>
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LandedCostResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Response" type="lc:ResponseTransportType"/>
				<xsd:choice>
					<xsd:element name="QueryResponse" type="lc:QueryResponseType"/>
					<xsd:element name="EstimateResponse" type="lc:EstimateResponseType"/>
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="RequestTransportType">
		<xsd:sequence>
			<xsd:element name="RequestAction" type="xsd:string"/>
			<xsd:element name="RequestOption" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="QueryRequestType">
		<xsd:sequence>
			<xsd:element name="Shipment" type="lc:ShipmentType"/>
			<xsd:element name="TransactionReferenceID" type="xsd:string" minOccurs="0" maxOccurs="3"/>
			<xsd:element name="SuppressQuestionIndicator" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="EstimateRequestType">
		<xsd:sequence>
			<xsd:element name="Shipment" type="lc:ShipmentAnswerType"/>
			<xsd:element name="TransactionDigest" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ResponseTransportType">
		<xsd:sequence>
			<xsd:element name="Warning" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="QueryResponseType">
		<xsd:sequence>
			<xsd:element name="Shipment" type="lc:ShipmentResultType"/>
			<xsd:element name="TransactionDigest" type="xsd:string"/>			
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="EstimateResponseType">
		<xsd:sequence>
			<xsd:element name="TransactionInfo" type="lc:TransactionInfoType"/>
			<xsd:element name="ShipmentEstimate" type="lc:ShipmentEstimateType"/>
			<xsd:element name="SuppressQuestionIndicator" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ShipmentType">
		<xsd:sequence>
			<xsd:element name="OriginCountryCode" type="xsd:string"/>
			<xsd:element name="OriginStateProvinceCode" type="xsd:string" minOccurs="0"/>
			<xsd:element name="DestinationCountryCode" type="xsd:string"/>
			<xsd:element name="DestinationStateProvinceCode" type="xsd:string" minOccurs="0"/>
			<xsd:element name="TransportationMode" type="xsd:string" minOccurs="0"/>
			<xsd:element name="FreightCharges" type="lc:ChargesType" minOccurs="0"/>
			<xsd:element name="AdditionalInsurance" type="lc:ChargesType" minOccurs="0"/>
			<xsd:element name="Product" type="lc:ProductType" maxOccurs="99"/>
			<xsd:element name="ResultCurrencyCode" type="xsd:string" minOccurs="0"/>
			<xsd:element name="TariffCodeAlert" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ShipmentResultType">
		<xsd:sequence>
			<xsd:element name="Product" type="lc:ProductResultType" maxOccurs="99"/>
			<xsd:element name="Question" type="lc:QuestionType" minOccurs="0" maxOccurs="5"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ShipmentAnswerType">
		<xsd:sequence>
			<xsd:element name="Product" type="lc:ProductAnswerType" maxOccurs="99"/>
			<xsd:element name="Question" type="lc:AnswerType" minOccurs="0" maxOccurs="5"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ShipmentEstimateType">
		<xsd:sequence>
			<xsd:element name="CurrencyCode" type="xsd:string"/>
			<xsd:element name="ShipmentCharges" type="lc:ShipmentChargesType"/>
			<xsd:element name="ProductsCharges" type="lc:ProductsChargesType"/>
			<xsd:element name="TotalLandedCost" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TransactionInfoType">
		<xsd:sequence>
			<xsd:element name="Date" type="xsd:string"/>
			<xsd:element name="Time" type="xsd:string"/>
			<xsd:element name="TransactionCharge">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="MonetaryValue" type="xsd:string"/>
						<xsd:element name="CurrencyCode" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductType">
		<xsd:sequence>
			<xsd:element name="ProductName" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ProductDescription" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ProductCountryCodeOfOrigin" type="xsd:string" minOccurs="0"/>
			<xsd:element name="TariffInfo" type="lc:TariffInfoType"/>
			<xsd:element name="Quantity" type="lc:ValueWithUnitsType"/>
			<xsd:element name="UnitPrice" type="lc:ChargesType"/>
			<xsd:element name="Weight" type="lc:ValueWithUnitsType" minOccurs="0"/>
			<xsd:element name="TariffCodeAlert" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductResultType">
		<xsd:sequence>
			<xsd:element name="TariffCode" type="xsd:string"/>
			<xsd:element name="Question" type="lc:QuestionType" minOccurs="0" maxOccurs="3"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductAnswerType">
		<xsd:sequence>
			<xsd:element name="TariffCode" type="xsd:string"/>
			<xsd:element name="Question" type="lc:AnswerType" minOccurs="0" maxOccurs="3"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductsChargesType">
		<xsd:sequence>
			<xsd:element name="Product" type="lc:ProductEstimateType" maxOccurs="99"/>
			<xsd:element name="ProductsSubTotal" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductEstimateType">
		<xsd:sequence>
			<xsd:element name="TariffCode" type="xsd:string"/>
			<xsd:element name="Charges" type="lc:ProductChargesType" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TariffInfoType">
		<xsd:sequence>
			<xsd:element name="TariffCode" type="xsd:string"/>
			<xsd:element name="DetailID" type="xsd:string" minOccurs="0"/>
			<xsd:element name="SecondaryTariffCode" type="xsd:string" minOccurs="0"/>
			<xsd:element name="SecondaryDetailID" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ValueWithUnitsType">
		<xsd:sequence>
			<xsd:element name="Value" type="xsd:string"/>
			<xsd:element name="UnitOfMeasure" minOccurs="0">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="UnitCode" type="xsd:string"/>
						<xsd:element name="UnitDescription" type="xsd:string" minOccurs="0"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ChargesType">
		<xsd:sequence>
			<xsd:element name="MonetaryValue" type="xsd:string"/>
			<xsd:element name="CurrencyCode" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="QuestionType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string"/>
			<xsd:element name="Text" type="xsd:string"/>
			<xsd:element name="Type" type="xsd:string"/>
			<xsd:element name="Options" minOccurs="0">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Option" type="lc:KeyValuePairType" maxOccurs="99"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="KeyValuePairType">
		<xsd:sequence>
			<xsd:element name="Key" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Value" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AnswerType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string"/>
			<xsd:element name="Answer" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ProductChargesType">
		<xsd:sequence>
			<xsd:element name="Duties" type="xsd:string" minOccurs="0"/>
			<xsd:element name="TaxesAndFees" type="xsd:string" minOccurs="0"/>
			<xsd:element name="VAT" type="xsd:string" minOccurs="0"/>
			<xsd:element name="CostOfGoods" type="xsd:string"/>
			<xsd:element name="SubTotal" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ShipmentChargesType">
		<xsd:sequence>
			<xsd:element name="TaxesAndFees" type="xsd:string"/>
			<xsd:element name="AdditionalInsuranceCost" type="xsd:string" minOccurs="0"/>
			<xsd:element name="TransportationCost" type="xsd:string" minOccurs="0"/>
			<xsd:element name="SubTotal" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
