<?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="ChecklistList">
    <xs:annotation>
      <xs:documentation>Handyman Export: Cheklist definitions</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ChecklistType" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="HSChecklistTypeID" type="xs:integer" />
              <xs:element name="ChecklistTypeID" >
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ChecklistTypeName" >
                <xs:annotation>
                  <xs:documentation>Name of checklist type</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Description"  >
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Document" type="xs:integer">
                <xs:annotation>
                  <xs:appinfo>0=No, 1=Declaration of conformacy is mandatory</xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="SignatureTextCustomer" >
                <xs:annotation>
                  <xs:documentation>Text to display on handlheld machine when customer signature is captured</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SignatureTextUser" >
                <xs:annotation>
                  <xs:documentation>Text to display on handlheld machine when user signature is captured</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Locked" type="xs:integer">
                <xs:annotation>
                  <xs:appinfo>1 = Locked</xs:appinfo>
                  <xs:documentation>Changes to checklist definition cannot be done in Handyman</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CopyRight" >
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Version" >
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="PrintFooter" >
                <xs:annotation>
                  <xs:documentation>Footer text to be displayed on checklist report in Handyman</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Deleted" type="xs:integer" minOccurs="0">
                <xs:annotation>
                  <xs:appinfo>1=Deleted</xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="GroupList" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>To add to specific groups, use this structure. Only valid trade groups will be accepted</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Group" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="HSGroupID" type="xs:integer" />
                          <xs:element name="GroupID">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Name" >
                            <xs:annotation>
                              <xs:documentation>Group name</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="40"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Checklist">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Check" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="ID" type="xs:integer" />
                          <xs:element name="Position" type="xs:integer">
                            <xs:annotation>
                              <xs:documentation>Normally the same as ID. Used to visually rearrange cheklist items</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="Text">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Instructions" >
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Unit">
                            <xs:annotation>
                              <xs:documentation>Unit for measuring value</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="10"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="DataType" type="xs:integer">
                            <xs:annotation>
                              <xs:appinfo>
                                0 = Heading
                                1 = Not done/Done
                                2 = Yes/No
                                3 = OK/Discrepancy
                                4 = Text field
                                5 = Pick List
                                6 = Numeric field
                                7 = Date field
                              </xs:appinfo>
                              <xs:documentation>
                                Specifies type of data-input. Default is 1 if not specified

                                DataType 1,2,3 are radio button groups
                              </xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="Locked" type="xs:integer">
                            <xs:annotation>
                              <xs:appinfo>1 = Locked</xs:appinfo>
                              <xs:documentation>Item cannot be changed or change position in checklist if set</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="ActivateGroupResponse" type="xs:integer" minOccurs="0">
                            <xs:annotation>
                              <xs:appinfo>
                                Only valid for items with DataType=1,2,3


                                Datatype=1, 2=Done
                                Datatype=2, 1=Yes, 2=No
                                Datatype=3, 1=OK, 2=Discrepancy
                              </xs:appinfo>
                              <xs:documentation>Specifies which answer that will activate following subitem items.</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="SubItem" type="xs:integer">
                            <xs:annotation>
                              <xs:appinfo>1 = Subitem</xs:appinfo>
                              <xs:documentation>Normally used on items following an item that specifies ActiveGroupResponse.</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="NumericMinimum" type="xs:float" >
                            <xs:annotation>
                              <xs:appinfo>Default 0</xs:appinfo>
                              <xs:documentation>Specifies minimum input value for numeric fields (DataType=6)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="NumericMaximum" type="xs:float" >
                            <xs:annotation>
                              <xs:appinfo>Default 0</xs:appinfo>
                              <xs:documentation>Specifies maximum input value for numeric fields (DataType=6)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="NumericInteger" type="xs:integer" >
                            <xs:annotation>
                              <xs:appinfo>
                                0 = floating point field
                                1 = Integer field
                              </xs:appinfo>
                              <xs:documentation>Specifies input type for numeric fields (DataType=6)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="DateUseTime" type="xs:integer" >
                            <xs:annotation>
                              <xs:appinfo>
                                0 = Date input
                                1 = Date + time input
                              </xs:appinfo>
                              <xs:documentation>Specifies input type for date fields (DataType=7)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="ListSelectionRequired" type="xs:integer" >
                            <xs:annotation>
                              <xs:appinfo>
                                0 = Text input, list can be used
                                1 = List selection is requiredt
                              </xs:appinfo>
                              <xs:documentation>Specifies input type for pick list fields (DataType=5)</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="PickList">
                            <xs:annotation>
                              <xs:documentation>List of values connected to item (Only valid if DataType=5)</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Value" minOccurs="0" maxOccurs="unbounded">
                                  <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="Rules">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Print" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="CheckMaterialsHours" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="InputRequired" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="InfoRequired" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="InitialRegistrationRequied" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="PrintOnDocument" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="OrderDescriptionRequired" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="MeasuringValueRequired" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="DontPrintNotRelevant" type="xs:integer">
                                  <xs:annotation>
                                    <xs:appinfo>0=No, 1=Yes</xs:appinfo>
                                    <xs:documentation>Supress printout for not relevant value</xs:documentation>
                                  </xs:annotation>
                                </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:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>