<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Geoff Mack (FurnishNet) -->
<!-- © 2001 FurnishNet.com.  All rights reserved.  Contains confidential and proprietary information. -->
<!-- 
Ver.   Date            By                      Action                                             
1.6     05-Oct-01   Geoff Mack         Converted to the May 5, 2001 W3C Recommendation using XML Spy v4.0.  Now references
                                                         http://www.w3.org/2001/XMLSchema instead of http://www.w3.org/2000/10/XMLSchema.
1.5     27-Jul-01    Geoff Mack       Made modifications based on input received at the 7/24/2001 FurnXML meeting in Charlotte, NC:
                                                          * Added "net" to description of unit and extended prices.     
                                                          * Referenced fn_base_v1.3 and fn_item_v1.3.
                                                          * Added pieceIdentification element underneath ackQuantity on the lineItemAckType.
                                                          * Added ackTerms element.
1.4     26-Jun-01   Geoff Mack          * Changed web server address to from www.furnishnet.com/... to support.furnishnet.com/...
                                                        Made modifications based on input received at the 5/15/2001 FurnXML meeting in Charlotte, NC:
                                                          * Removed "order..." elements;
                                                          * Remove the "choice" between ship date and "do not ship before/after" dates (allow all in one doc);
                                                          * Allowed multiple ship dates and associated a quantity with each so that multiple shipments may be
                                                            acknowledged on a single acknowledgement.  Removed reference to shipQuantityType and 
                                                            replaced with reference to fnBase:shipToLocationType.  Removed ackDates from the line item 
                                                            because these dates are now attributes referenced on fnBase's shipToLocationType.
                                                        Also did the following:
                                                          * Changed the names of two elements for consistency with other element names:
                                                              acknowledgedCurrency became ackCurrency; and
                                                              acknowledgedExchangeRate became ackExchangeRate.
                                                          * Changed name of line item's markFor to markForLocation for consistency
                                                          * Removed remaining references to UCC's PO (simpleDateType and textDescriptionType were the
                                                            only ones left) to try to remove references to unused (and confusing) UCC PO elements from the
                                                            XML Spy-generated HTML documentation, most particularly "Order."  Net effect: the "areaName" 
                                                            element in the option definiton changed from a string of length 48 with an associated language 
                                                            identifier to a string of unlimited length, with no language specifier; all elements of type ucc_po 
                                                            simpleDateType were changed to reference xsd:date instead (same data type).
                                                          * Added version numbers to this and all referenced schemas.  This was done to enable the 
                                                            simultaneous use of two different versions of the schema by two different parties since both parties
                                                            would be validating against the schema definition in a single location (FurnishNet.com).
                                                          * Renamed systemReference on header to ackSystemReference; on line to ackLineSystemReference.
                                                          * Eliminated references to FurnXMLBaseTypes (furn_bt) from PO Ack to simplify the PO Ack structure.  
1.3   03-May-01    Geoff Mack       Changed document to orderDocument and added ackDocument to allow storage of both the original
                                                       order's PO number and the current Acknowledgement's Ack. number, as well as the written date of
                                                       both transactions.
1.2   30-Mar-01    Geoff Mack        Made changes to bring in synch with FurnXMLPO as amended at the 3/28/2001 FurnXML meeting:
                                                          * Made discount multiples at header and line.
                                                          * Made surcharge multiples at header and line.
                                                          * Made line item element ackShipDate optional.
                                                          * Distinguished between unit and extended price by renaming existing price, surcharge, and discount
                                                            elements and adding a second set of each.
                                                          * Added a systemReference element to the line item (optional, unbounded)
                                                          * Made flatDiscount and percentageDiscount elements optional by virtue of a change to 
                                                            furn_bt:discountType.
                                                          * Made option's attribute "area" an element with a choice of straight text or enumerated values.
1.1    23-Mar-01   Geoff Mack       Modified to bring up to date with the following recent FurnXMLPO changes:
                                                          * Added billTo element to header, type furn_bt:partyType.
                                                          * Add markFor element to header, type furn_bt:markFor
                                                          * Changed type of orderQuantity and ackQuantity from furn_bt:quantityType to
                                                            furn_bt:shipQuantityType
                                                          * Removed shipTo element from the line item
                                                          * Changed position of ackDates element on the line item
                                                          * Added requestedSerialNumber attribute to lineItemAckType
                                                          * Changed type of orderOptionPrice from furn_bt:monetaryAmount to fnBase:monetaryAmount
                                                          * Restructured ackDatesType to correspond to FurnXMLPO's shipDateType.
                                                      Also changed ackOptionProductID type (on option) from furn_bt:itemIdentificationType to 
                                                      furn_bt:optionProductIDType.
1.0    28-Feb-01   Geoff Mack       Created, modeled on FurnPO.xsd.
-->
<schema targetNamespace="http://support.furnishnet.com/xml/schemas/fnPOAck_v1.6" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:fnBase="http://support.furnishnet.com/xml/schemas/fnBase_v1.4" xmlns:fnItem="http://support.furnishnet.com/xml/schemas/fnItem_v1.4" xmlns:fnParty="http://support.furnishnet.com/xml/schemas/fnParty_v1.4" xmlns:fnPOAck="http://support.furnishnet.com/xml/schemas/fnPOAck_v1.6" version="1.6">
	<import namespace="http://support.furnishnet.com/xml/schemas/fnBase_v1.4" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_base_v1.4.xsd"/>
	<import namespace="http://support.furnishnet.com/xml/schemas/fnItem_v1.4" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_item_v1.4.xsd"/>
	<import namespace="http://support.furnishnet.com/xml/schemas/fnParty_v1.4" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_party_v1.4.xsd"/>
	<complexType name="lineItemAckType">
		<sequence>
			<element name="ackProductID" type="fnItem:itemIdentifierType">
				<annotation>
					<documentation>Acknowledgement of product to be supplied under this order.</documentation>
				</annotation>
			</element>
			<element name="ackQuantity">
				<annotation>
					<documentation>Acknowledgement of quantity to be supplied under this order.</documentation>
				</annotation>
				<complexType>
					<complexContent>
						<extension base="fnBase:quantityType">
							<sequence minOccurs="0">
								<element name="shipToLocation" minOccurs="0" maxOccurs="unbounded">
									<annotation>
										<documentation>The sum of all quantities specified here should equal the "value" attribute on element ackQuantity.  The shipToID refers to an entry in the shipTo element on the header.  The date attributes allow acknowledgement or notice of multiple shipments on a single acknowledgement.</documentation>
									</annotation>
									<complexType>
										<complexContent>
											<extension base="fnBase:shipToLocationType">
												<sequence minOccurs="0">
													<element name="markForLocation" type="fnBase:markForLocationType" minOccurs="0" maxOccurs="unbounded">
														<annotation>
															<documentation>The sum of all quantities specified here should equal the "quantity" attribute of the immediately enclosing shipToLocation element.  The markForID refers to an entry in the markFor element on the header.</documentation>
														</annotation>
													</element>
												</sequence>
											</extension>
										</complexContent>
									</complexType>
								</element>
								<element name="pieceIdentification" type="fnBase:pieceIdentificationNumberType" minOccurs="0">
									<annotation>
										<documentation>A piece identification number uniquely identifes a single piece in a transaction.  When used, there is normally one piece ID number for each and every piece in the transaction.  They may be buyer assigned or seller assigned.  These numbers are NOT associated with a particular destination location.</documentation>
									</annotation>
								</element>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="ackUnitPrice">
				<annotation>
					<documentation>Acknowledged discounts, surcharges, and price for one unit.</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element name="ackdiscount" type="fnBase:discountOrAllowanceType" minOccurs="0" maxOccurs="unbounded">
							<annotation>
								<documentation>Acknowledged unit discount(s).</documentation>
							</annotation>
						</element>
						<element name="acksurcharge" type="fnBase:additionalChargeType" minOccurs="0" maxOccurs="unbounded">
							<annotation>
								<documentation>Acknowledged unit surcharge(s).</documentation>
							</annotation>
						</element>
						<element name="ackprice" type="fnBase:monetaryAmountType">
							<annotation>
								<documentation>Acknowledged net unit price of this item including discounts, surcharges, and options.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="ackExtendedPrice" minOccurs="0">
				<annotation>
					<documentation>Acknowledged extended discounts, surcharges, and item price.</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element name="ackDiscount" type="fnBase:discountOrAllowanceType" minOccurs="0" maxOccurs="unbounded">
							<annotation>
								<documentation>Acknowledged extended discount(s).</documentation>
							</annotation>
						</element>
						<element name="ackSurcharge" type="fnBase:additionalChargeType" minOccurs="0" maxOccurs="unbounded">
							<annotation>
								<documentation>Acknowledged extended surcharge(s).</documentation>
							</annotation>
						</element>
						<element name="ackprice" type="fnBase:monetaryAmountType">
							<annotation>
								<documentation>Acknowledged net extended  price of the item, including discounts,  charges, and options.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="ackLineSystemReference" type="fnBase:systemReferenceType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>A system reference facilitates automated processing of the document by including data elements that are not necessarily part of a standard transaction but are required or desired by the computer systems of the trading partners.  Effective use of system references requires pre-arrangement between trading partners.  NOTE: this structure should not be used for data that is otherwise accommodated within a transaction schema.</documentation>
				</annotation>
			</element>
			<element name="actionRequestIndicator" type="fnBase:actionRequestIndicatorType" minOccurs="0">
				<annotation>
					<documentation>Specifies that the acknowledgement of this line item is a change to a previous acknowledgement of the same line.  Normally only used at this level to specify "Change" or "Cancel". </documentation>
				</annotation>
			</element>
			<element name="option" type="fnItem:itemOptionType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Acknowledged option(s) for the item.</documentation>
				</annotation>
			</element>
			<element name="subItem" type="fnPOAck:lineItemAckType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Acknowledgement of subitems for this item.  Note: this is a recursive element.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="lineItemNumber" type="positiveInteger" use="optional"/>
		<attribute name="comment" type="string" use="optional">
			<annotation>
				<documentation>General comments about the item.</documentation>
			</annotation>
		</attribute>
		<attribute name="requestedSerialNumber" type="string" use="optional"/>
	</complexType>
	<complexType name="orderAckType">
		<annotation>
			<documentation>Represents a complete furniture purchase order document.</documentation>
		</annotation>
		<sequence>
			<element name="orderDocument" type="fnBase:documentType">
				<annotation>
					<documentation>Information about the original order.  The id attribute represents the original order number.</documentation>
				</annotation>
			</element>
			<element name="ackDocument" type="fnBase:documentType" minOccurs="0">
				<annotation>
					<documentation>Information about the acknowledgement.  The id attribute represents the acknowledgement number.</documentation>
				</annotation>
			</element>
			<element name="actionRequestIndicator" type="fnBase:actionRequestIndicatorType" minOccurs="0">
				<annotation>
					<documentation>Specifies that this Acknowledgement is either new, a change to, or cancellation of a previous acknowledgement of the document identified in the "ackDocument" element's "id" attribute.</documentation>
				</annotation>
			</element>
			<element name="ackCurrency" minOccurs="0">
				<annotation>
					<documentation>Acknowledgement of currency used in the specification of the order.  For programmatic management of currencies, use codes specified by ISO 4217-1995.</documentation>
				</annotation>
				<simpleType>
					<restriction base="string">
						<maxLength value="3"/>
					</restriction>
				</simpleType>
			</element>
			<element name="ackExchangeRate" type="fnBase:exchangeRateType" minOccurs="0">
				<annotation>
					<documentation>Acknowledgement of an exchange rate (when buyer and seller deal in different currencies).</documentation>
				</annotation>
			</element>
			<element name="ackAdditionalCharge" type="fnBase:additionalChargeType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Acknowledgement of additional charge(s) from the order.</documentation>
				</annotation>
			</element>
			<element name="ackDiscount" type="fnBase:discountOrAllowanceType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Acknowledgement of discount for the order.</documentation>
				</annotation>
			</element>
			<element name="ackNetTotalPrice" type="fnBase:monetaryAmountType" minOccurs="0">
				<annotation>
					<documentation>Acknowledged total cost for the order.  Includes all charges less all applicable discounts, allowances, and deposits.</documentation>
				</annotation>
			</element>
			<element name="buyer" type="fnParty:partyIdentificationType">
				<annotation>
					<documentation>The party buying the goods being ordered.</documentation>
				</annotation>
			</element>
			<element name="billTo" type="fnParty:partyIdentificationType" minOccurs="0">
				<annotation>
					<documentation>Party to be billed for items ordered. If omitted, the buyer is assumed to be the billTo party.</documentation>
				</annotation>
			</element>
			<element name="seller" type="fnParty:sellerIdentificationType">
				<annotation>
					<documentation>The seller of the goods being ordered.</documentation>
				</annotation>
			</element>
			<element name="ackCarrier" type="fnParty:carrierIdentificationType" minOccurs="0">
				<annotation>
					<documentation>Acknowledgement of carrier.</documentation>
				</annotation>
			</element>
			<element name="shipTo" type="fnParty:shipToPartyType" maxOccurs="unbounded">
				<annotation>
					<documentation>One or more ship-to parties.</documentation>
				</annotation>
			</element>
			<element name="markFor" type="fnParty:shipToPartyType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Mark-For parties are parties, generally entities within the buying organization, to whom goods will be routed after physical receipt of goods by the ship-to party.</documentation>
				</annotation>
			</element>
			<element name="ackTerms" type="fnBase:termsType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ackShipDates" type="fnPOAck:ackDatesType" minOccurs="0">
				<annotation>
					<documentation>All dates in this element apply to any line that is not overridden at the line level.  Override may occur at the line in the shipToLocation element under ackQuantity.</documentation>
				</annotation>
			</element>
			<element name="ackSystemReference" type="fnBase:systemReferenceType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>A system reference facilitates automated processing of the document by including data elements that are not necessarily part of a standard transaction but are required or desired by the computer systems of the trading partners.  Effective use of system references requires pre-arrangement between trading partners.  NOTE: this structure should not be used for data that is otherwise accommodated within a transaction schema.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="comment" type="string" use="optional">
			<annotation>
				<documentation>General comments about the order.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="ackDatesType">
		<sequence>
			<element name="ackShipDate" type="date" minOccurs="0">
				<annotation>
					<documentation>Seller's acknowledgement of  estimated ship date.</documentation>
				</annotation>
			</element>
			<element name="ackDoNotShipBeforeDate" type="date" minOccurs="0">
				<annotation>
					<documentation>Seller's acknowledgement of "Do not ship before" date.</documentation>
				</annotation>
			</element>
			<element name="ackDoNotShipAfterDate" type="date" minOccurs="0">
				<annotation>
					<documentation>Seller's acknowledgement of "Do not ship after" date.</documentation>
				</annotation>
			</element>
			<element name="ackArrivalDate" type="date" minOccurs="0">
				<annotation>
					<documentation>Seller's acknowledgement of date when product is anticipated to arrive at buyer's primary destination.</documentation>
				</annotation>
			</element>
			<element name="ackCancelDate" type="date" minOccurs="0">
				<annotation>
					<documentation>Seller's acknowledgement of  cancellation date limit.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="poAckType">
		<sequence>
			<element name="ackOrder" type="fnPOAck:orderAckType"/>
			<element name="ackLine" type="fnPOAck:lineItemAckType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="poAck" type="fnPOAck:poAckType"/>
</schema>
