<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ProgrammersReference.xslt"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ePocket.no/Handyman62/Api">
  <xs:element name="CustomerList">
    <xs:annotation>
      <xs:documentation>Handyman Import: Customers</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Customer" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomerNo">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="CustomerName">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="40"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="AddressList">
                <xs:annotation>
                  <xs:documentation>
                    Handyman 6.2: Only first address will be imported
                    Handyman 7.x: All addresses will be imported

                    OBS! First address will be treated as main address
                  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Address" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="AddressID" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>Match will be done on AddressID if provided. If not, AddressName will be used for matching. If either of these tags are provided, all addresses sendt will be treated as new</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address1">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="40"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="StreetNo" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="10"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address2" >
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="40"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalCode">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="10"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalArea">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="AddressName" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>Optional name of address</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="60"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Longitude" type="xs:integer" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>WGS84 format (in millionths of degree)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="Latitude" type="xs:integer" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>WGS84 format (in millionths of degree)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="Address3" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address4" minOccurs="0" >
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Country" minOccurs="0" >
                            <xs:annotation>
                              <xs:documentation>Country codes according to ISO 3166-1 alpha-2. Must be used if maps for addresses outside Scandinavia and Germany is to be fetched.</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
						  
						 <xs:element name="BoligmappaEdokNumber" minOccurs="0">
							<xs:annotation>
							  <xs:documentation>Send if the address you are sending exists in boligmappa.no</xs:documentation>
							</xs:annotation>
							  <xs:simpleType>
								<xs:restriction base="xs:string">
								  <xs:maxLength value="8000"/>
								</xs:restriction>
							  </xs:simpleType>
							</xs:element>
						  <xs:element name="BoligmappaPlantID" type="xs:integer"  minOccurs="0">
							<xs:annotation>
							  <xs:documentation>Send if the address you are sending exists in boligmappa.no</xs:documentation>
							</xs:annotation>
						  </xs:element>
						  
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Telephone1">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Telephone2">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Comment" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Email" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendToAll">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=Don?t send, 1=Send, 2=Keep current setting in HS if customer exists, otherwise set to 1</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Deleted">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                    <xs:documentation>If customer is connected with an order this will be ignored</xs:documentation>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="VATNumber" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Company" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                    <xs:documentation>To indicate if this customer is a company. For information only</xs:documentation>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ContactList">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded">
                      <xs:annotation>
                        <xs:documentation>
                          Handyman 6.2: Only first contact will be imported
                          Handyman 7.x: All contacs will be imported

                          OBS! First contact will be treated as main contact
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="ContactID" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>Match will be done on ContactID if provided. If not, ContactName will be used for matching.</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="ContactName">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="40"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Email" minOccurs="0" >
                            <xs:annotation>
                              <xs:documentation>Handyman 7 only</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Telephone1" minOccurs="0" >
                            <xs:annotation>
                              <xs:documentation>Handyman 7 only</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Telephone2" minOccurs="0" >
                            <xs:annotation>
                              <xs:documentation>Handyman 7 only</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
						  <xs:element name="Comment" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The first contact imported will get 'Main contact' in the comment</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:maxLength value="255"/>
							</xs:restriction>
							</xs:simpleType>
						  </xs:element>						  
						  <xs:element name="ContactType" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>0 = normal contact, 1 = main contact</xs:appinfo>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:integer">
									<xs:enumeration value="0"/>
									<xs:enumeration value="1"/>
								</xs:restriction>
							</xs:simpleType>
						  </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="CategoryList">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Category" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="CategoryName">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>