<?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:in4f="http://schema.infor.com/Infor1.0/fieldlist"
    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/Nouns/CustomerPartyMaster.xsd"/>
    <xsd:include schemaLocation="../Components/Common/Components.xsd"/>

    <xsd:element name="CustomerPartyMaster" type="CustomerPartyMasterType"
        substitutionGroup="oa:CustomerPartyMaster"/>
    
    <xsd:complexType name="CustomerPartyMasterType">
        <xsd:annotation>
            <xsd:documentation> Extend the base customer type to support a field list for
                application specific vlaues. 
            
                The CustomerPartyMaster has an attribute role, which can have the values of Corporate, Customer, ShipTo, BillTo, and PayFrom</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="oa:CustomerPartyMasterType">
                <xsd:sequence>
                    <xsd:element ref="MultiCurrencyIndicator" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>
                                Set to true when this customer can be associated to transactions in multiple currencies.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="InternalCustomerIndicator" minOccurs="0"/>
                    <xsd:element ref="oa:Classification" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>
                                A classification associated to the customer. This list can be extended.
                                Known Classifications will include:
                                    Territory
                                    CustomerType
                                    CustomerPriceGroup
                                    Market
                                    Industry code
                                    SIC Code
                                    NAICS
                                    ABCosting
                                    Risk code
                                    TradeAccountCode
                                    DiscountAccountCode
                                    SaleType - Retail or Consignment                                    
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="ParentCustomer" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>
                        Customer can only point to a Corporate customer, ShipTo, BillTo, and PayFrom can only point to a Customer.
                        </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="DefaultShipFromWarehouseLocation" minOccurs="0"/>
                    <xsd:element ref="CustomerAccount" minOccurs="0"/>
                    <xsd:element ref="oa:CarrierParty" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>
                                Default carroer for this customer.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="EDIDocument" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SalesPersonReference" minOccurs="0"/>
                    <xsd:element ref="FieldList" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:element name="ParentCustomer" type="oa:CustomerPartyType"/>
    <xsd:element name="DefaultShipFromWarehouseLocation" type="oa:LocationType"/>
    
</xsd:schema>
