<?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="Settings">
    <xs:annotation>
      <xs:documentation>Handyman Import: Settings</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="LockSettings" minOccurs="0">
          <xs:simpleType>
          <xs:annotation>
            <xs:appinfo>0=Dont lock settings, 1=Lock settings</xs:appinfo>
            <xs:documentation>The fields sendt in this session will be locked or unlocked in Handyman Administrator</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="General" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="DefaultVATRate" type="xs:float" minOccurs="0" />
              <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="OneOrderDescription" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  <xs:documentation>0=Unlimited number of orderdecription lines possible. (Default)</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="OrderDescriptionLength" minOccurs="0">
                <xs:simpleType>
					<xs:annotation>
						<xs:appinfo>Maximum 4096</xs:appinfo>
						<xs:documentation>Maximum recordlength for order descriptions. Default value will be set by Handyman for some backoffice systems sendt to Handyman and locked by this structure.</xs:documentation>
					</xs:annotation>
					<xs:restriction base="xs:integer">
						<xs:pattern value="[1-4096]"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="NormalWorkWeekHours" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Setting for normal work hours per week for the company</xs:documentation>
				</xs:annotation> 				
              </xs:element>	
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="BackofficeSync" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SyncType" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=File based, 1=COM based</xs:appinfo>
                </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
                </xs:element>
              <xs:element name="AutoImportCommand" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Command to start automatic import of Handyman data in backoffice system</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="AutoImportParameter" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="FileExtension" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>File extension identifies client i Backoffice, only files with this extension will be handled</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="MiscellaniousItemsNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Item number used for material registrations without item number in Handyman</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="MiscellaniousItemsNumberMin" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>
                    Both MiscellaniousItemsNumberMin and MiscellaniousItemsNumberMax must exist, and min must be less than or equal to max before database is updated. If both tags exists and are empty, the stored values will be cleared.

                    Locking not supported.
                  </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="MiscellaniousItemsNumberMax" minOccurs="0" >
                <xs:annotation>
                  <xs:documentation>
                    Both MiscellaniousItemsNumberMin and MiscellaniousItemsNumberMax must exist, and min must be less than or equal to max before database is updated. If both tags exists and are empty, the stored values will be cleared.

                    Locking not supported.
                  </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendSignatures" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                   </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendChecklists" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendPurchaseOrders" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendOrderDocuments" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendOrderDocumentsData" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  <xs:documentation>If 0, no binary document data will be sendt</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="SendChecklistDefinitions" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  <xs:documentation>For filebased synchronisation 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="SendInventoryStatus" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendStoreMovements" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SendWarningsAndErrors" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  </xs:annotation>
                  <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:element name="SimpleIntegration" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="UseSimpleIntegration" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=Regular integration, 1=Simple integration</xs:appinfo>
                </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                  </xs:restriction> 
                </xs:simpleType>
              </xs:element>
              <xs:element name="BackofficeCustomerNumberRequired" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                    <xs:documentation>Ordres without official customer number will not be sent to backoffice system before an official number is entered</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="MiscellaniousItemsNumberPriceRequired" minOccurs="0">
                <xs:simpleType>
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                  <xs:documentation>Ordres with regegistrations with miscellanious itemnumber where price information is not entered will not be sent to backoffice system</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="InvoiceStatusUpdatedOnExport" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                    <xs:documentation>Local invoice status in Handyman will be updated when order is sent to backoffice system. Use this when backoffice system never will return invoice information for received orders.</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="SendStoreMovementsForOrderMaterial" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                    <xs:documentation>If backoffice system is keepeing track of storemovements and store content, this option must be enabled. The store movements are sent immedeately after PDA synchronisation or manual material entry in Handyman</xs:documentation>
                  </xs:annotation>
                  <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:element name="Address" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Company address information</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Address1" minOccurs="0">
                <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" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="40"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="PostalCode" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="10"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="PostalArea" minOccurs="0" >
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="30"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ExtraInformation" minOccurs="0" >
                <xs:annotation>
                  <xs:documentation>Extra information will be dispalyed together with the company address on reports</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Telephone" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Telefax" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </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:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Email" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Email setting for sending email in Handyman</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Server" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Name of mailserver (Exchange/POP3 etc.)</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="UserId" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Password" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Domain" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="FromAddress" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>All outgiong mail will have this address as the mail sender</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>