<?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="SalaryHoursExport">
		<xs:annotation>
			<xs:documentation>Hours Approval Module export</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ExportTimeStamp" type="xs:dateTime"/>
				<xs:element name="ExportedBy">
					<xs:annotation>
						<xs:documentation>Employee ID for person who initiated the export manually, or 'AUTOMATIC SERVICE' if exported was initiated by service</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="20"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="SalaryCodeItemList">
					<xs:annotation>
						<xs:documentation>List of salary codes used in exported file</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:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="SalaryCodeRegistrationList">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="SalaryCodeRegistration" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="HSSalaryCodeID" type="xs:integer">
											<xs:annotation>
												<xs:documentation>Unique ID in HS.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Approved">
											<xs:simpleType>
												<xs:annotation>
													<xs:appinfo>0=Not approved, 1=Approved</xs:appinfo>
													<xs:documentation>Set to 1 only when an employee has approved the entry.</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="ApprovedBy">
												<xs:annotation>
													<xs:appinfo></xs:appinfo>
													<xs:documentation>Employee ID</xs:documentation>
												</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="ApprovedDate" type="xs:dateTime"/>
										<xs:element name="OrderNo">
												<xs:annotation>
													<xs:appinfo></xs:appinfo>
													<xs:documentation></xs:documentation>
												</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Requisition">
											<xs:annotation>
												<xs:documentation>Optional reference for order (Name is spelled wrong, but to not break existing solutions wee keep name as it is)</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="MainOrder">
											<xs:annotation>
												<xs:documentation>Optional reference for order</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="CustomerReference">
											<xs:annotation>
												<xs:documentation>Optional reference for order</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="OrderCategory1">
											<xs:annotation>
												<xs:documentation>Handyman order category ID</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="OrderCategory2">
											<xs:annotation>
												<xs:documentation>Handyman extra order category 1</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="OrderCategory3">
											<xs:annotation>
												<xs:documentation>Handyman extra order category 2</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="EmployeeNo">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="EmployeeDepartmentNo">
											<xs:annotation>
												<xs:documentation>Depertment ID for employee</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Date" type="xs:dateTime"/>
										<xs:element name="Amount" type="xs:float"/>
										<xs:element name="SalaryCode">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="255"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Unit" type="xs:integer">
											<xs:annotation>
												<xs:appinfo>0=Hours, 1=Amount, 3=Kilometers</xs:appinfo>
											</xs:annotation>
										</xs:element>
										<xs:element name="KB1">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="KB2">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Phase">
											<xs:annotation>
												<xs:documentation>Phase or point (determined by order)</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Price" type="xs:float">
											<xs:annotation>
												<xs:documentation>Customer price from salary code definition</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="PriceOrigin" minOccurs="0">
														<xs:simpleType>
															<xs:annotation>
																<xs:appinfo>0=SalaryCode, 1=Employee, 2=Customer, 3=Contract, 4=Agreed Customer Price, 5=Company Income Category, 6=Department Income Category, 7=Customer Income Category, 8=Contract Income Category</xs:appinfo>
															</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:enumeration value="7"/>
																<xs:enumeration value="8"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
										<xs:element name="PriceBasis" type="xs:float" minOccurs="0"/>
										<xs:element name="PriceDiscount" type="xs:float" minOccurs="0"/>
										<xs:element name="CostPrice" type="xs:float">
											<xs:annotation>
												<xs:documentation>Cost price from salary code definition</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CostOrigin" minOccurs="0">
											<xs:simpleType>
												<xs:annotation>
													<xs:appinfo>0=SalaryCode, 1=Employee, 2=IncomeCategory</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="Rate" type="xs:float">
											<xs:annotation>
												<xs:documentation>Rate from registration. Only if salary code requires rate input</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Info">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="255"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="RegistrationEmployeeNo">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="20"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="RegistrationDate" type="xs:dateTime"/>
										<xs:element name="ExternalVoucher" type="xs:integer">
											<xs:annotation>
												<xs:appinfo>0=No , 1=Yes</xs:appinfo>
												<xs:documentation>Used to indicate if an external voucher exists for the registration</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="RealStartTime" type="xs:string">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="RealEndTime" type="xs:string">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="StartTime" type="xs:string">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="EndTime" type="xs:string">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="StartMileage" type="xs:float">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="EndMileage" type="xs:float">
											<xs:annotation>
												<xs:documentation/>
											</xs:annotation>
										</xs:element>
										<xs:element name="TravelLog">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Purpose">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="255"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PersonVisited">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="255"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="FromAddress">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="255"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="ToAddress">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="255"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Passengers" type="xs:integer"/>
													<xs:element name="Trailer" type="xs:integer">
														<xs:annotation>
															<xs:appinfo>0=No , 1=Yes</xs:appinfo>
														</xs:annotation>
													</xs:element>
													<xs:element name="BadRoad" type="xs:integer">
														<xs:annotation>
															<xs:appinfo>0=No , 1=Yes</xs:appinfo>
														</xs:annotation>
													</xs:element>
													<xs:element name="ExtraInfo">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="1024"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PassengersNameKm">
														<xs:annotation>
															<xs:documentation>List of passenger names and kilometers/miles. Tab separated</xs:documentation>
														</xs:annotation>
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="4096"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="TrailerKm" type="xs:float">
														<xs:annotation>
															<xs:documentation>Number of kilomters/miles with trailer. Less than or equal to Amount</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="TrailerComment">
														<xs:annotation>
															<xs:documentation>Comment for use of trailer</xs:documentation>
														</xs:annotation>
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="255"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="BadRoadKm" type="xs:float">
														<xs:annotation>
															<xs:documentation>Number of kilomters/miles with bad road. Less than or equal to Amount</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="OriginalSalaryCodeID">
											<xs:annotation>
												<xs:documentation>Only used when this registration is correction with different salary code</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="255"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="OriginalHSSalaryCodeID" type="xs:integer">
											<xs:annotation>
												<xs:documentation>Unique ID in HS.</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:schema>
