<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Mike Overholt (Ashley Furniture Ind. / MIS Web Development) -->
<!-- 
Ver.   	Date         	 	By                      Action   
0.4		2004-08-09 		MOverholt		Original creation (draft)
0.5		2004-09-05		MOverholt		Added extendedPrice element
										Added DateChange to the lineItemChangeType enum.
										Added pocDocumentType with fixed type attribute (860)
											and requestedAction attribute
										Added poDocumentType with fixed type attribute (850)
1.0		2004-11-19		MOverholt		Initial release
1.1		2005-03-16		MOverholt		Added support for price change
-->
<schema targetNamespace="http://schema.fidx.org/fidx_PoChg_v1.1" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:fnBase="http://support.furnishnet.com/xml/schemas/fnBase_v1.5" xmlns:fnItem="http://support.furnishnet.com/xml/schemas/fnItem_v1.5" xmlns:fnParty="http://support.furnishnet.com/xml/schemas/fnParty_v1.4" xmlns:fidx_POCR="http://schema.fidx.org/fidx_PoChg_v1.1" version="1.1">
	<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/fnItem_v1.5" schemaLocation="http://support.furnishnet.com/xml/schemas/fn_item_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="poChange" type="fidx_POCR:poChangeRequestType">
		<annotation>
			<documentation>Purchase order change request (860) transaction schema.</documentation>
		</annotation>
	</element>
	<complexType name="poChangeRequestType">
		<sequence>
			<element name="order" type="fidx_POCR:orderType">
				<annotation>
					<documentation>PO change request header information.</documentation>
				</annotation>
			</element>
			<element name="line" type="fidx_POCR:lineItemType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>PO change request line-item detail.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="orderType">
		<sequence>
			<element name="document">
				<annotation>
					<documentation>Identification of the PO change request transaction document.</documentation>
				</annotation>
				<complexType>
					<complexContent>
						<extension base="fidx_POCR:pocDocumentType"/>
					</complexContent>
				</complexType>
			</element>
			<element name="poDocument" type="fidx_POCR:poDocumentType">
				<annotation>
					<documentation>Identification of the Purchase Order this request applies to.</documentation>
				</annotation>
			</element>
			<element name="actionRequestIndicator" type="fidx_POCR:actionRequestIndicatorType">
				<annotation>
					<documentation>Indicates whether the request is for a "Change" to a PO or "Cancellation" of that order.</documentation>
				</annotation>
			</element>
			<element name="acceptOrRejectAll" type="boolean" minOccurs="0">
				<annotation>
					<documentation>Indicates whether requested changes can be applied independently. If TRUE, then ALL requested changes must be rejected if ANY requested change cannot be made. If FALSE (or missing) then any changes that can be made should be made and only those that cannot should be rejected.</documentation>
				</annotation>
			</element>
			<element name="currency" type="fidx_POCR:currencyType" minOccurs="0"/>
			<element name="exchangeRate" type="fidx_POCR:exchangeRateType" minOccurs="0">
				<annotation>
					<documentation>sourceCurrency MUST match original PO.</documentation>
				</annotation>
			</element>
			<element name="buyer" type="fnParty:partyIdentificationType"/>
			<element name="carrier" type="fidx_POCR:carrierIdentificationType" minOccurs="0"/>
			<element name="shipTo" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="fnParty:partyIdentificationType">
							<attribute name="id" type="string" use="optional"/>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="markFor" minOccurs="0" maxOccurs="unbounded">
				<complexType>
					<complexContent>
						<extension base="fnParty:partyIdentificationType">
							<attribute name="description" type="fnBase:locationType" use="optional"/>
							<attribute name="shippingInstructions" type="string" use="optional"/>
							<attribute name="id" type="string" use="optional"/>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="shipDates" type="fidx_POCR:shipDatesType" minOccurs="0">
				<annotation>
					<documentation>Any dates present will be considered to be changes to the original value.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="comment" type="string" use="optional"/>
	</complexType>
	<complexType name="lineItemType">
		<sequence>
			<element name="requestedAction" type="fidx_POCR:requestedActionType" maxOccurs="unbounded"/>
			<element name="acceptOrRejectAll" type="boolean" minOccurs="0"/>
			<element name="productID" type="fnItem:itemIdentifierType" minOccurs="0"/>
			<element name="requestedQuantity" minOccurs="0">
				<complexType>
					<complexContent>
						<extension base="fidx_POCR:quantityType">
							<sequence>
								<element name="shipToLocation" type="fidx_POCR:shipToLocationType" minOccurs="0" maxOccurs="unbounded"/>
								<element name="pieceIdentification" type="fidx_POCR:pieceIdentificationType" minOccurs="0"/>
							</sequence>
						</extension>
					</complexContent>
				</complexType>
			</element>
			<element name="unitPrice" type="fidx_POCR:priceType" minOccurs="0">
				<annotation>
					<documentation>Price changes are not allowed. This element should only be used in conjunction with an added item.</documentation>
				</annotation>
			</element>
			<element name="extendedPrice" type="fidx_POCR:priceType" minOccurs="0"/>
			<element name="option" type="fnItem:itemOptionType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>All options must be respecified if an option  change is being requested.</documentation>
				</annotation>
			</element>
			<element name="subItem" type="fidx_POCR:lineItemType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="lineItemNumber" type="positiveInteger" use="required"/>
		<attribute name="comment" type="string" use="optional"/>
	</complexType>
	<complexType name="shipDatesType">
		<sequence>
			<element name="requestedShipDate" type="date" minOccurs="0"/>
			<element name="doNotShipBeforeDate" type="date" minOccurs="0"/>
			<element name="doNotShipAfterDate" type="date" minOccurs="0"/>
			<element name="requestedArrivalDate" type="date" minOccurs="0"/>
			<element name="cancelDate" type="date" minOccurs="0"/>
			<element name="otherDate" minOccurs="0" maxOccurs="unbounded">
				<complexType>
					<simpleContent>
						<extension base="date">
							<attribute name="otherDateQualifier" type="fidx_POCR:otherDateQualifierType" use="required"/>
						</extension>
					</simpleContent>
				</complexType>
			</element>
		</sequence>
	</complexType>
	<simpleType name="otherDateQualifierType">
		<restriction base="string">
			<enumeration value="AdvertisingDate"/>
			<enumeration value="GrandOpeningDate"/>
		</restriction>
	</simpleType>
	<complexType name="requestedQuantityType">
		<sequence>
			<element name="shipToLocation" type="fidx_POCR:shipToLocationType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="pieceIdentification" type="fnBase:pieceIdentificationNumberType" minOccurs="0"/>
		</sequence>
		<attribute name="unitOfMeasure" type="fnBase:unitOfMeasureType" use="required"/>
		<attribute name="originalQuantityValue" type="float" use="required"/>
		<attribute name="newQuantityValue" type="float" use="required"/>
	</complexType>
	<complexType name="shipToLocationType">
		<sequence>
			<element name="shipDates" type="fidx_POCR:shipDatesType" minOccurs="0">
				<annotation>
					<documentation>Any dates present will be considered to be changes to the original value.</documentation>
				</annotation>
			</element>
			<element name="markForLocation" type="fidx_POCR:markForLocationType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="originalQuantity" type="float" use="optional"/>
		<attribute name="newQuantity" type="float" use="optional"/>
		<attribute name="originalShipToID" type="string" use="optional"/>
		<attribute name="newShipToID" type="string" use="optional"/>
	</complexType>
	<complexType name="markForLocationType">
		<attribute name="originalQuantity" type="float" use="optional"/>
		<attribute name="newQuantity" type="float" use="optional"/>
		<attribute name="originalMarkForID" type="string" use="optional"/>
		<attribute name="newMarkForID" type="string" use="optional"/>
	</complexType>
	<complexType name="priceType">
		<sequence>
			<element name="discount" type="fnBase:discountOrAllowanceType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="surcharge" type="fnBase:additionalChargeType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="price" type="fidx_POCR:monetaryAmountType"/>
		</sequence>
	</complexType>
	<complexType name="pocDocumentType">
		<complexContent>
			<restriction base="fnBase:documentType">
				<sequence>
					<element name="creationDate" type="date">
						<annotation>
							<documentation>The creation date of the transaction referred to by this element.  Format is CCYY-MM-DD.</documentation>
						</annotation>
					</element>
					<element name="creationTime" type="time" minOccurs="0">
						<annotation>
							<documentation>The time on creationDate that the document was created.  Format is HH:MM:SS.</documentation>
						</annotation>
					</element>
				</sequence>
				<attribute name="type" fixed="poChangeRequest"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="poDocumentType">
		<complexContent>
			<restriction base="fnBase:documentType">
				<sequence>
					<element name="creationDate" type="date">
						<annotation>
							<documentation>The creation date of the transaction referred to by this element.  Format is CCYY-MM-DD.</documentation>
						</annotation>
					</element>
					<element name="creationTime" type="time" minOccurs="0">
						<annotation>
							<documentation>The time on creationDate that the document was created.  Format is HH:MM:SS.</documentation>
						</annotation>
					</element>
				</sequence>
				<attribute name="type" fixed="purchaseOrder"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="actionRequestIndicatorType">
		<attribute name="description" use="required">
			<simpleType>
				<restriction base="string">
					<enumeration value="Cancel"/>
					<enumeration value="Change"/>
				</restriction>
			</simpleType>
		</attribute>
		<attribute name="comments" type="string" use="optional"/>
	</complexType>
	<complexType name="currencyType">
		<attribute name="originalCurrency" use="required">
			<simpleType>
				<restriction base="string">
					<maxLength value="3"/>
				</restriction>
			</simpleType>
		</attribute>
		<attribute name="newCurrency" use="required">
			<simpleType>
				<restriction base="string">
					<maxLength value="3"/>
				</restriction>
			</simpleType>
		</attribute>
	</complexType>
	<complexType name="exchangeRateType">
		<attribute name="sourceCurrency" use="required">
			<simpleType>
				<restriction base="string">
					<maxLength value="3"/>
				</restriction>
			</simpleType>
		</attribute>
		<attribute name="originalRate" type="float" use="required"/>
		<attribute name="newRate" type="float" use="required"/>
	</complexType>
	<complexType name="carrierIdentificationType">
		<sequence>
			<element name="newCarrierIdentification" type="fnParty:partyIdentificationType">
				<annotation>
					<documentation>Replace original carrier identification with this information.</documentation>
				</annotation>
			</element>
			<element name="transitTime" type="fidx_POCR:quantityType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="quantityType">
		<attribute name="unitOfMeasure" type="fnBase:unitOfMeasureType" use="required"/>
		<attribute name="originalValue" type="float" use="required"/>
		<attribute name="newValue" type="float" use="required"/>
	</complexType>
	<complexType name="pieceIdentificationType">
		<choice>
			<element name="pieceIdentificationNumber" maxOccurs="unbounded">
				<complexType>
					<attribute name="originalIDNumber" type="string" use="required"/>
					<attribute name="newIDNumber" type="string" use="required"/>
				</complexType>
			</element>
			<element name="pieceIdentificationNumberRange" maxOccurs="unbounded">
				<complexType>
					<attribute name="originalFirstNumber" type="string" use="required"/>
					<attribute name="originalLastNumber" type="string" use="required"/>
					<attribute name="newFirstNumber" type="string" use="required"/>
					<attribute name="newLastNumber" type="string" use="required"/>
				</complexType>
			</element>
		</choice>
		<attribute name="assignment" use="optional">
			<simpleType>
				<restriction base="string">
					<enumeration value="BuyerAssigned"/>
					<enumeration value="SellerAssigned"/>
				</restriction>
			</simpleType>
		</attribute>
	</complexType>
	<simpleType name="requestedActionType">
		<restriction base="string">
			<enumeration value="Add"/>
			<enumeration value="DateChange"/>
			<enumeration value="Delete"/>
			<enumeration value="MarkForChange"/>
			<enumeration value="OptionChange"/>
			<enumeration value="PieceIDChange"/>
			<enumeration value="PriceChange"/>
			<enumeration value="QuantityChange"/>
			<enumeration value="ShipToChange"/>
		</restriction>
	</simpleType>
	<complexType name="monetaryAmountType">
		<attribute name="originalValue" type="float" use="required"/>
		<attribute name="newValue" type="float" use="required"/>
	</complexType>
</schema>
