<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Mark Avery McCuistion (Development) -->
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Ashish Gandhi (MicroD) and Ben Keller (MGM) -->
<!-- Changes in version 1.1
	* TotalsSummary at header level can be used multiple times
	* Added Equipment Owner Information
	* On the line level consolidated numberOfCartons and PackageCodes to numberOfPackages with an attribute unit
	* Used TotalsSummary in details as well to represent weight, volume, quantity, decalred value, invoice amount at line level -->
<!-- Changes in version 1.2
	* in BOLTotalsSummary made quantity a required field
	* in BOLTotalsSummary invoiceAmount and declaredValue were required but made them optional 
	* small changes to BOLTotalsSummary annotation -->
<schema targetNamespace="http://xmc.eximtechnologies.com/xml/schemas/fidx/FurnBOL_v1.2" xmlns:fnParty="http://support.furnishnet.com/xml/schemas/fnParty_v1.4" xmlns:fnBase="http://support.furnishnet.com/xml/schemas/fnBase_v1.5" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:furnBOL="http://xmc.eximtechnologies.com/xml/schemas/fidx/FurnBOL_v1.2">
	<import namespace="http://support.furnishnet.com/xml/schemas/fnBase_v1.5" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_base_v1.5.xsd"/>
	<import namespace="http://support.furnishnet.com/xml/schemas/fnParty_v1.4" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_party_v1.4.xsd"/>
	<element name="BOL" type="furnBOL:BOLInfo">
		<annotation>
			<documentation>Bill Of Laiding beginning element</documentation>
		</annotation>
	</element>
	<complexType name="BOLInfo">
		<annotation>
			<documentation>All the information about the Bill of Laiding</documentation>
		</annotation>
		<sequence>
			<element name="Header" type="furnBOL:BOLHeader">
				<annotation>
					<documentation>Information pertaining to the whole BOL</documentation>
				</annotation>
			</element>
			<element name="Line" type="furnBOL:BOLLine" maxOccurs="unbounded">
				<annotation>
					<documentation>Information from each line item of the BOL</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="BOLHeader">
		<annotation>
			<documentation>This contains all the header information for the BOL</documentation>
		</annotation>
		<sequence>
			<element name="document" type="fnBase:documentType">
				<annotation>
					<documentation>Basic document information</documentation>
				</annotation>
			</element>
			<element name="Shipper" type="fnParty:partyIdentificationType" maxOccurs="unbounded">
				<annotation>
					<documentation>shipper information. This is the 204 sender</documentation>
				</annotation>
			</element>
			<element name="ShipFrom" type="fnParty:partyIdentificationType" maxOccurs="unbounded">
				<annotation>
					<documentation>Pick up place for these items to be shipped</documentation>
				</annotation>
			</element>
			<element name="Carrier" type="fnParty:partyIdentificationType">
				<annotation>
					<documentation>Carrier Information. This is the 204 receiver</documentation>
				</annotation>
			</element>
			<element name="StandardCarrierAlphaCode" type="string">
				<annotation>
					<documentation>SCAC code of the shipper</documentation>
				</annotation>
			</element>
			<element name="ShipTo" maxOccurs="unbounded">
				<annotation>
					<documentation>The place these items are being shipped to</documentation>
				</annotation>
				<complexType>
					<complexContent>
						<extension base="fnParty:partyIdentificationType">
							<attribute name="description" type="string" use="optional"/>
							<attribute name="id" type="string" use="optional"/>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="Consignee" maxOccurs="unbounded">
				<annotation>
					<documentation>Consignee information, final destination of the shipment</documentation>
				</annotation>
				<complexType>
					<complexContent>
						<extension base="fnParty:partyIdentificationType">
							<attribute name="description" type="string" use="optional"/>
							<attribute name="id" type="string" use="optional"/>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="BillTo" minOccurs="0">
				<annotation>
					<documentation>Who is going to pay the bill</documentation>
				</annotation>
				<complexType>
					<complexContent>
						<extension base="fnParty:partyIdentificationType">
							<attribute name="description" type="string" use="optional"/>
							<attribute name="id" type="string" use="optional"/>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="Payment">
				<annotation>
					<documentation>Method of Payment for this shipment</documentation>
				</annotation>
				<complexType>
					<attribute name="description" type="string" use="optional"/>
					<attribute name="methodOfPayment" use="required">
						<simpleType>
							<restriction base="string">
								<enumeration value="SellerPrepaid"/>
								<enumeration value="BuyerPrepaid"/>
								<enumeration value="Collect"/>
								<enumeration value="Other"/>
							</restriction>
						</simpleType>
					</attribute>
				</complexType>
			</element>
			<element name="EquipmentDetails" type="furnBOL:EquipmentInfo" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Equipment Information</documentation>
				</annotation>
			</element>
			<element name="SpecialInstructions" type="string" minOccurs="0">
				<annotation>
					<documentation>Special instructions for this load, if any</documentation>
				</annotation>
			</element>
			<element name="TotalsSummary" type="furnBOL:BOLTotalsSummary" maxOccurs="unbounded">
				<annotation>
					<documentation>total Weight, Volume, Qty shipped, etc. information</documentation>
				</annotation>
			</element>
			<element name="BOLDates" type="furnBOL:bolDatesType" maxOccurs="unbounded"/>
			<element name="ApplicationType">
				<annotation>
					<documentation>Type of BOL</documentation>
				</annotation>
				<simpleType>
					<restriction base="string">
						<enumeration value="LoadTender"/>
						<enumeration value="Manifest"/>
						<enumeration value="Other"/>
					</restriction>
				</simpleType>
			</element>
			<element name="additionalCharge" type="fnBase:additionalChargeType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="EquipmentInfo">
		<annotation>
			<documentation>Equipment Information, Trailer Number</documentation>
		</annotation>
		<sequence>
			<element name="equipmentType" type="string">
				<annotation>
					<documentation>Type of equpment</documentation>
				</annotation>
			</element>
			<element name="equipmentIdentifier" type="string">
				<annotation>
					<documentation>Equipment Identification code</documentation>
				</annotation>
			</element>
			<element name="equipmentOwner" minOccurs="0">
				<annotation>
					<documentation>Owner of this equipment on which the freight was transported. This can be different from the carrier and hence may need to be specified.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="bolDatesType">
		<annotation>
			<documentation>Represents various ship dates that a buyer may request.</documentation>
		</annotation>
		<sequence>
			<element name="DateType">
				<annotation>
					<documentation>Type of Date being specified, choose from the list</documentation>
				</annotation>
				<simpleType>
					<restriction base="string">
						<enumeration value="Ship"/>
						<enumeration value="Delivery"/>
						<enumeration value="ScheduledPickup"/>
						<enumeration value="ShipNotBefore"/>
						<enumeration value="DeliverNotBefore"/>
						<enumeration value="DeliverNotAfter"/>
						<enumeration value="Other"/>
					</restriction>
				</simpleType>
			</element>
			<element name="Date" type="date">
				<annotation>
					<documentation>Actual date</documentation>
				</annotation>
			</element>
			<element name="Time" type="time">
				<annotation>
					<documentation>Time information</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="BOLLine">
		<annotation>
			<documentation>Contains information about the individual line items</documentation>
		</annotation>
		<sequence>
			<element name="stopReason">
				<annotation>
					<documentation>Stop Reason information</documentation>
				</annotation>
				<complexType>
					<attribute name="code" use="required">
						<simpleType>
							<restriction base="string">
								<enumeration value="Complete Load"/>
								<enumeration value="Complete Unload"/>
								<enumeration value="Load"/>
								<enumeration value="Part Unload"/>
								<enumeration value="Unload"/>
								<enumeration value="Other"/>
							</restriction>
						</simpleType>
					</attribute>
					<attribute name="description" type="string" use="optional"/>
				</complexType>
			</element>
			<element name="numberOfPackages">
				<annotation>
					<documentation>No. of cartons shipped for this line</documentation>
				</annotation>
				<complexType>
					<attribute name="unit" use="required">
						<simpleType>
							<restriction base="string">
								<enumeration value="Pallet"/>
								<enumeration value="Loose"/>
								<enumeration value="ShrinkWrap"/>
								<enumeration value="Carton"/>
							</restriction>
						</simpleType>
					</attribute>
				</complexType>
			</element>
			<element name="itemDescription" type="string">
				<annotation>
					<documentation>Plain english description of the item</documentation>
				</annotation>
			</element>
			<element name="styleNumber" maxOccurs="unbounded">
				<annotation>
					<documentation>Product identification for the buyer, for the seller or mutually defined.</documentation>
				</annotation>
				<complexType>
					<simpleContent>
						<extension base="string">
							<attribute name="type" use="required">
								<simpleType>
									<restriction base="string">
										<enumeration value="BuyerCode"/>
										<enumeration value="SellerCode"/>
										<enumeration value="MutuallyAgreedOn"/>
									</restriction>
								</simpleType>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="SystemReference" type="fnBase:systemReferenceType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>System reference, if more then the provided reference numbers are needed for automated processing</documentation>
				</annotation>
			</element>
			<element name="BOLDates" type="furnBOL:bolDatesType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="shipperId" type="string" minOccurs="0">
				<annotation>
					<documentation>Shipper Id from the header</documentation>
				</annotation>
			</element>
			<element name="shipFromId" type="string" minOccurs="0">
				<annotation>
					<documentation>ShipFrom Id from the header</documentation>
				</annotation>
			</element>
			<element name="consigneeId" type="string" minOccurs="0">
				<annotation>
					<documentation>Consignee Id from the header</documentation>
				</annotation>
			</element>
			<element name="referenceNumbers" type="fnBase:referenceNumberType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Reference numbers to send information that is usually needed like the PO number, Acknowledgement number etc.</documentation>
				</annotation>
			</element>
			<element name="itemDetail" type="furnBOL:BOLTotalsSummary">
				<annotation>
					<documentation>Item details like weight, volume, no. of items shipped, invoice amount, declared value </documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="sequenceNumber" type="int" use="required"/>
		<attribute name="shipToId" type="string" use="optional"/>
	</complexType>
	<complexType name="BOLTotalsSummary">
		<annotation>
			<documentation>Information about the total volume, weight, qty shipped.</documentation>
		</annotation>
		<sequence>
			<element name="weight" minOccurs="0">
				<annotation>
					<documentation>Total weight of the shipment</documentation>
				</annotation>
				<complexType>
					<simpleContent>
						<extension base="decimal">
							<attribute name="unit" use="required">
								<simpleType>
									<restriction base="string">
										<enumeration value="Pounds"/>
									</restriction>
								</simpleType>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="volume" minOccurs="0">
				<annotation>
					<documentation>Total volume of the shipment</documentation>
				</annotation>
				<complexType>
					<simpleContent>
						<extension base="decimal">
							<attribute name="unit" use="required">
								<simpleType>
									<restriction base="string">
										<enumeration value="CubicFeet"/>
										<enumeration value="CubicInch"/>
									</restriction>
								</simpleType>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="quantity" type="int">
				<annotation>
					<documentation>Total no. of items shipped</documentation>
				</annotation>
			</element>
			<element name="invoiceAmount" type="fnBase:monetaryAmountType" minOccurs="0">
				<annotation>
					<documentation>Invoice Amount for the whole items being shipped on this BOL</documentation>
				</annotation>
			</element>
			<element name="declaredValue" type="fnBase:monetaryAmountType" minOccurs="0">
				<annotation>
					<documentation>Declared value for the whole BOL</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
</schema>
