<?xml version="1.0" encoding="UTF-8"?>
<!--
    
    ** OAGIS® Revision: 9.1  **
    ** Date: 11 May 2007 **
    ** Copyright 1997-2007, All Rights Reserved **
    
    This is an OAGIS® BOD XML Schema (XSD) Definition.
    
    License information for this file is provided in the file **OAGi License Agreement.txt** that is provided with this download package.
    
    For support, more information, or to report implementation bugs, please contact the Open Applications Group at xml@openapplications.org.
    
    XML Schema 
    
-->

<!--
    © Copyright 2007 Infor Global Solutions Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. The 
    word and design marks set forth herein are trademarks and/or registered trademarks of Infor Global Solutions 
    Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. All other trademarks listed herein 
    are the property of their respective owners.
    
-->


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:oa="http://www.openapplications.org/oagis/9"
    xmlns="http://schema.infor.com/Infor1.0"
    targetNamespace="http://schema.infor.com/Infor1.0"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    
    <xsd:import namespace="http://www.openapplications.org/oagis/9" 
        schemaLocation="../../../9.0/Resources/Components/Operational/LogisticsComponents.xsd"/>
    
    <xsd:include schemaLocation="../Components/Operational/LogisticsComponents.xsd"/>
    
    <xsd:element name="CustomerReceiveDelivery" type="CustomerReceiveDeliveryType">
        <xsd:annotation>
            <xsd:documentation>Represents a transaction for communicating the receiving of goods or services by a customer. </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="CustomerReceiveDeliveryHeader" type="CustomerReceiveDeliveryHeaderType">
        <xsd:annotation>
            <xsd:documentation>Provides general information about the CustomerReceiveDelivery document that is used to communicate the receipt of a specific quantity of material goods from a supplier.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="CustomerReceiveDeliveryItem" type="CustomerReceiveDeliveryItemType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">Provides general information about the item inventory being delivered, including the requested and actual quantities.  This information usually directly references a line item or Delivery schedule line on a sales order, purchase order or other inventory transfer document.  </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="CustomerReceiptDiscrepancy" type="CustomerReceiveDeliveryDiscrepancyType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">Provides receiving discrepancy information for the ReceiveDelivery header as a whole, for a particular ReceiptLine, for the receipt of a shipping unit as a whole  ReceiptLine, or to a particular item within the shipping unit (ReceiptUnit).</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="CustomerReceiveDeliveryUnit" type="CustomerReceiveDeliveryUnitType"/>
    <xsd:element name="CustomerReceiveDeliveryUnitItem" type="CustomerReceiveDeliveryUnitItemType"/>

        <xsd:complexType name="CustomerReceiveDeliveryType">
        <xsd:annotation>
            <xsd:documentation>ReceiveDelivery typically report on the ReceiveDeliveryItems.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="CustomerReceiveDeliveryHeader" minOccurs="0"/>
            <xsd:element ref="CustomerReceiveDeliveryItem" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="CustomerReceiveDeliveryUnit" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="CustomerReceiveDeliveryHeaderType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">Provides general information about the ReceiveDelivery document that is used to receive a specific quantity of material goods
                
                The EffectiveDateTime is the date/time the received material is posted to other business systems as being available for use.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:ShipmentHeaderBaseType">
                <xsd:sequence>
                    <xsd:element ref="oa:ReceivingServiceChargeAmount" minOccurs="0"/>
                    <xsd:element ref="oa:EffectiveDateTime" minOccurs="0"/>
                    <xsd:element ref="oa:ReceivedDateTime" minOccurs="0"/>
                    <xsd:element ref="oa:BillOfLadingID" minOccurs="0"/>
                    <xsd:element ref="oa:Container" minOccurs="0"/>
                    <xsd:element ref="oa:TrackingID" minOccurs="0"/>
                    <xsd:element ref="oa:DeliverToParty" minOccurs="0"/>
                    <xsd:element ref="oa:ReceivingLocation" minOccurs="0"/>
                    <xsd:element ref="oa:ASNReference" minOccurs="0"/>
                    <xsd:element ref="CustomerReceiptDiscrepancy" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="oa:UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="CustomerReceiveDeliveryItemType">
        <xsd:annotation>
            <xsd:documentation>ReceiptLine represents the goods line item detail of the receipt document. THis can be used by itself for traditional receiving against Purchase Orders or other line-item oriented buisness documents, or in conjunction with the ReceiptUnit element to summarize ship unit item detail at line level</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:ShipItemBaseType">
                <xsd:sequence>
                    <xsd:element ref="oa:Status" minOccurs="0"/>
                    <xsd:element ref="oa:ReceivingServiceChargeAmount" minOccurs="0"/>
                    <xsd:element ref="oa:PackingSlipQuantity" minOccurs="0"/>
                    <xsd:element ref="oa:ReceivedQuantity" minOccurs="0"/>
                    <xsd:element ref="oa:ReturnedQuantity" minOccurs="0"/>
                    <xsd:element ref="ResupplyQuantity" minOccurs="0" />                    
                    <xsd:element ref="oa:ReceiptRoutingCode" minOccurs="0"/>
                    <xsd:group ref="oa:CatchWeightGroup"/>
                    <xsd:element ref="oa:UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="CustomerReceiveDeliveryDiscrepancyType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">This identifies discrepancy information for the receipt.
                
                The Type identifies the discrepancy type. 
                
                The ReasonCode Identifies the reason for the discrepancy.
                
                If the discrepancy applies to specific quantities of the item, then the quantity can be specified. If no quantity is specified, the discrepancy applies to the inventory occurence as a whole</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Type" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation source="http://www.openapplications.org/oagis/9">This is an exception classification that codifies the general problem encountered during a business process, such as receiving goods</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="oa:ReasonCode" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation source="http://www.openapplications.org/oagis/9">Identifies the reason for the discrepancy.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="oa:ItemQuantity" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation source="http://www.openapplications.org/oagis/9">If the discrepancy applies to specific quantities of the item, then the quantity can be specified. If no quantity is specified, the discrepancy applies to the inventory occurence as a whole</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="oa:FreeFormTextGroup"/>
            <xsd:element ref="oa:UserArea" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="CustomerReceiveDeliveryUnitType">
        <xsd:annotation>
            <xsd:documentation>Provides information that identifies and describes a particular shipping unit being received.  This information usually directly references a DeliveryUnit on an OAGIS Delivery message or other shipping   document.  May also be used to provide context to adequately detail inventory discrepancies or compliance charges for a particular shipping unit</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:ShipUnitBaseType">
                <xsd:sequence>
                    <xsd:element ref="oa:Container" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="CustomerReceiveDeliveryUnitItem" minOccurs="0"/>
                    <xsd:element ref="oa:UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="CustomerReceiveDeliveryUnitItemType">
        <xsd:annotation>
            <xsd:documentation source="http://www.openapplications.org/oagis/9">Provides information about a specific quantity of goods inventory contained within a shipping unit. RECEIPTITM is used to provide a detailed breakdown of RECEIPTLN inventory for inventory discrepancies or compliance charges for a particular shipping unit</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:ShipItemBaseType">
                <xsd:sequence>
                    <xsd:element ref="oa:Status" minOccurs="0"/>
                    <xsd:element ref="oa:PackingSlipQuantity" minOccurs="0"/>
                    <xsd:element ref="oa:ReceivedQuantity" minOccurs="0"/>
                    <xsd:element ref="oa:ReturnedQuantity" minOccurs="0"/>
                    <xsd:element ref="oa:ReceiptRoutingCode" minOccurs="0"/>
                    <xsd:group ref="oa:CatchWeightGroup"/>
                    <xsd:element ref="oa:UserArea" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
 
    <xsd:element name="ResupplyQuantity" type="oa:QuantityType"/>
    
</xsd:schema>
