<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ProgrammersReference.xslt"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://ePocket.no/Handyman62/Api" targetNamespace="http://ePocket.no/Handyman62/Api" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="SalaryCodeItemList">
		<xs:annotation>
			<xs:documentation>Handyman Import: Salary codes</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SalaryCodeItem" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="SalaryCode">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="255"/>
									</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="Unit">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=Hours, 1=Amount, 3=Kilometers</xs:appinfo>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="3"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="SumOnTimesheet">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>If 0, entries with this code will not be summarized in the hours summary report 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:element name="InfoMandatory">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</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="Price" type="xs:float"/>
							<xs:element name="Cost" type="xs:float" minOccurs="0">
								<xs:annotation>	
									<xs:documentation>If the tag is not sent, nothing happens. If the tag is sent with no value, '0' (zero) will be saved. If the tag is sent with a value, this value will be saved.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="VATRate" type="xs:float"/>
							<xs:element name="TravelLogMandatory" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>Only valid if Unit=3 (Kilometers)</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="AvailableForCategory" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>
                    0=Available for all orders
                    1=Only for normal orders
                    2=Only for internal orders
                  </xs:appinfo>
										<xs:documentation>Use to limit entry of salary code items to internal or normal orders</xs:documentation>
									</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="MaximumWeeksAhead" type="xs:integer" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>
                    Number of weeks
                    (Default 2 weeks)
                  </xs:appinfo>
									<xs:documentation>Restriction of registrations ahead of time.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="RateRequired" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>Input of rate must be done if 1</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="DefaultRate" type="xs:float" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Default rate. If 0, no default rate</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="MaximumRate" type="xs:float" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Maximum value for rate. IF 0, no limit on input value</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="TimeInputRequired" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>If 1, specification of start and finish time for the salarycode registration must be specified</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="WorkTimer" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>
                    Salary code can be used with the work timer.
                    Only handeled if Unit=1 (Hours)
                    (Handyman 7 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="TravelTimer" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>
                    Salary code can be used with the travel timer.
                    Only handeled if Unit=1 (Hours)
                    (Handyman 7 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="BreakTimer" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>
                    Salary code can be used with the break timer.
                    Only handeled if Unit=1 (Hours)
                    (Handyman 7 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="TimerAdjustmentAllowed" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>
                    0=No adjustment of timer result
                    1=Timer result can be adjusted by user
                  </xs:appinfo>
										<xs:documentation>
                    Only handeled if Unit=1 (Hours)
                    (Handyman 7 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="TimerRounding" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>
                    Supported values:
                    -60, -30, -15, -10-, -5, 1, 5, 10, 15, 30, 60
                    Default = 1 (No rounding)
                  </xs:appinfo>
										<xs:documentation>
                    Round to nearest number of minutes. Negative number means runding down.
                    Only handeled if Unit=1 (Hours)
                    (Handyman 7 only)
                  </xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="-60"/>
										<xs:enumeration value="-30"/>
										<xs:enumeration value="-15"/>
										<xs:enumeration value="-10"/>
										<xs:enumeration value="-5"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="5"/>
										<xs:enumeration value="10"/>
										<xs:enumeration value="15"/>
										<xs:enumeration value="30"/>
										<xs:enumeration value="60"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="MileageInput" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>
                    Input of kilometers are done via start- and end-mileage.
                    Only handeled if Unit=3 (Kilomters)
                    (Handyman 7 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="AddToAllGroups" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>If 1, the salary code will be added to all groups if not already added</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="HoursType" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=Normal time, 1=Overtime, 2=Holiday, 3=Sick leave, 4=Extra pay, 5=Quantity, 6=Other absence</xs:appinfo>
										<xs:documentation>HoursType can only be used when Unit=0. If HoursType is not used HoursType will be set in the import</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value="3"/>
										<xs:enumeration value="4"/>
										<xs:enumeration value="5"/>
										<xs:enumeration value="6"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ABAX" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>If 1, the salary code will be available when using the ABAX service</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="ABAXTollRoad" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>Only handled if Unit=1 (Amount) and ABAX=1. Registration of toll road costs will be available</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="ABAXFerry" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>Only handled if Unit=1 (Amount) and ABAX=1. Registration of ferry costs will be available</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="ABAXParking" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>Only handled if Unit=1 (Amount) and ABAX=1. Registration of parking costs will be available</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="TravelLogCarType" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=Company car, 1=Private car</xs:appinfo>
										<xs:documentation>For TravelLog registration, less input is needed if company car</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="CostType" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=WorkHours, 1=Travel, 2=Other</xs:appinfo>
										<xs:documentation>Used to seperate salarycodes in invoicing purpose</xs:documentation>
									</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="AllowEndBeforeStart" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>Allow time input to end before start. May be interesting when crossing time zones</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="HideQuantity" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0=No, 1=Yes</xs:appinfo>
										<xs:documentation>Use when time is the only interesting input. Quantity will always be set to 1.</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="KB1Rule" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0 = As defined in order head
					1 = Mandatory
					2 = Optional
					3 = Hidden</xs:appinfo>
										<xs:documentation>Used to override groupings rules on the order. The order must have enabled use the of KB1 for this setting to have effect</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value="3"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="KB2Rule" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0 = As defined in order head
					1 = Mandatory
					2 = Optional
					3 = Hidden</xs:appinfo>
										<xs:documentation>Used to override groupings rules on the order. The order must have enabled use the of KB2 for this setting to have effect</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value="3"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="PhaseRule" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0 = As defined in order head
					1 = Mandatory
					2 = Optional
					3 = Hidden</xs:appinfo>
										<xs:documentation>Used to override groupings rules on the order. The order must have enabled use the of Phase for this setting to have effect</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:integer">
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value="3"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="MaxTimesPerDay" type="xs:integer" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>0 = No restriction, >0 restricted input on mobile device</xs:appinfo>
									<xs:documentation>If > 0: How many times a salary code can be used per day</xs:documentation>
								</xs:annotation>
								<xs:restriction base="xs:integer">
									<xs:minInclusive value="0"/>
								</xs:restriction>
							</xs:element>
							<xs:element name="MaxQuantityPerDay" type="xs:float" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>0 = No restriction, >0 restricted input on mobile device</xs:appinfo>
									<xs:documentation>If > 0: Maximum quantity for registrations with salary code per day</xs:documentation>
								</xs:annotation>
								<xs:restriction base="xs:float">
									<xs:minInclusive value="0"/>
								</xs:restriction>
							</xs:element>
							<xs:element name="MaxQuantityPerWeek" type="xs:float" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>0 = No restriction, >0 restricted input on mobile device</xs:appinfo>
									<xs:documentation>If > 0: Maximum quantity for registrations with salary code per week</xs:documentation>
								</xs:annotation>
								<xs:restriction base="xs:float">
									<xs:minInclusive value="0"/>
								</xs:restriction>
							</xs:element>
							<xs:element name="MaxQuantityPerMonth" type="xs:float" minOccurs="0">
								<xs:annotation>
									<xs:appinfo>0 = No restriction, >0 restricted input on mobile device</xs:appinfo>
									<xs:documentation>If > 0: Maximum quantity for registrations with salary code per month</xs:documentation>
								</xs:annotation>
								<xs:restriction base="xs:float">
									<xs:minInclusive value="0"/>
								</xs:restriction>
							</xs:element>
							<xs:element name="UseForInvoice" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>Registrations to be included when creating invoice 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:element name="UseForSalary" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>Registrations to be included when exporting salary information from 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:element name="AutomaticApproval" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:appinfo>0/1</xs:appinfo>
										<xs:documentation>Entries with this cost element will automatically be approved in the Hours Approve Module if set to 1</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="GroupList" minOccurs="0">
								<xs:annotation>
									<xs:documentation>To add to specific groups, use this structure. Only valid 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="DeleteFromGroup" type="xs:integer" minOccurs="0">
														<xs:annotation>
															<xs:appinfo>1=delete salary code from group</xs:appinfo>
														</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:schema>
