<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://htng.org/PWSWG/2006/08/SingleGuestItinerary/PaymentPosting/Types" xmlns:c="http://htng.org/PWSWG/2006/08/SingleGuestItinerary/Common/Types" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://htng.org/PWSWG/2006/08/SingleGuestItinerary/PaymentPosting/Types" elementFormDefault="qualified" attributeFormDefault="unqualified" id="pmtposting">
	<xs:import namespace="http://htng.org/PWSWG/2006/08/SingleGuestItinerary/Common/Types" schemaLocation="Common.xsd"/>
	<xs:element name="pmtpostingupdate">
		<xs:annotation>
			<xs:documentation>pmtpostingupdate as defined by the HTNG working group 2004</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Number">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="type" use="required">
									<xs:simpleType>
										<xs:restriction base="xs:NMTOKEN">
											<xs:enumeration value="unit"/>
											<xs:enumeration value="resno"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:attribute>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="ClientId" type="xs:string"/>
				<xs:element name="PostingGUID" type="xs:string"/>
				<xs:element name="ZoomInKey" type="xs:string"/>
				<xs:element name="AccountDetail" type="tns:AccountDetailType" minOccurs="0"/>
				<xs:element name="CreditCardDetail" type="tns:CreditCardDetailType" minOccurs="0"/>
				<xs:element name="VoidFlag" type="xs:boolean"/>
				<xs:element name="PostPropertyId" type="xs:unsignedInt"/>
				<xs:element name="RegisterId" type="xs:unsignedInt"/>
				<xs:element name="CashierEmpId" type="xs:unsignedLong"/>
				<xs:element name="ServerEmpId" type="xs:unsignedLong"/>
				<xs:element name="RevenueCenterId" type="xs:unsignedLong"/>
				<xs:element name="CheckNumber" type="xs:unsignedInt"/>
				<xs:element name="Covers" type="xs:int"/>
				<xs:element name="MealPeriod" type="xs:unsignedInt"/>
				<xs:element name="PaymentId" type="xs:unsignedLong"/>
				<xs:element name="TipAmount" type="xs:int"/>
				<xs:element name="PaymentAmount" type="xs:int"/>
				<xs:element name="CheckAmount" type="xs:int"/>
				<xs:element name="Itemizers" type="tns:ItemizersType"/>
				<xs:element name="Extensions" type="tns:ExtensionsType" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="pmtpostingresults">
		<xs:annotation>
			<xs:documentation>pmtpostingresults as defined by the HTNG workgroup 2004</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Status" type="c:ResultStatus"/>
				<xs:element name="PostingGUID" type="xs:string"/>
				<xs:element name="PaymentAmount" type="xs:int"/>
				<xs:element name="Unit" type="xs:string"/>
				<xs:element name="Account" type="xs:string"/>
				<xs:element name="Occupant" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="AccountDetailType">
		<xs:annotation>
			<xs:documentation> Contains the details about the account to be used for posting the payment</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Account" type="xs:string"/>
			<xs:element name="Unit" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CreditCardDetailType">
		<xs:annotation>
			<xs:documentation>Holds credit card information</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Account" type="xs:string"/>
			<xs:element name="ExpireDate" type="xs:string"/>
			<xs:element name="CVV2" type="xs:string"/>
			<xs:element name="AuthCode" type="xs:string"/>
			<xs:element name="CardSwipeTrack1" type="xs:string"/>
			<xs:element name="CardSwipeTrack2" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ItemizersType">
		<xs:sequence>
			<xs:element name="Itemizer" type="tns:ItemizerType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ItemizerType">
		<xs:simpleContent>
			<xs:extension base="xs:int">
				<xs:attribute name="class" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:NMTOKEN">
							<xs:enumeration value="discount"/>
							<xs:enumeration value="gratuity"/>
							<xs:enumeration value="sales"/>
							<xs:enumeration value="serviceCharge"/>
							<xs:enumeration value="tax"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
				<xs:attribute name="name" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ExtensionsType">
		<xs:sequence>
			<xs:element name="Extension" type="tns:ExtensionType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ExtensionType">
		<xs:choice>
			<xs:element name="MenuItemList" type="tns:MenuItemListType"/>
			<xs:element name="ReceiptImage" type="xs:string"/>
			<xs:element name="SignatureImage" type="tns:SignatureImageType"/>
		</xs:choice>
		<xs:attribute name="class" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="menuitemdetail"/>
					<xs:enumeration value="receiptimage"/>
					<xs:enumeration value="signatureimage"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="MenuItemListType">
		<xs:sequence>
			<xs:element name="MenuItem" type="tns:MenuItemType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MenuItemType">
		<xs:sequence>
			<xs:element name="id" type="xs:string"/>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="qty" type="xs:int"/>
			<xs:element name="price" type="xs:int"/>
			<xs:element name="extPrice" type="xs:int"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SignatureImageType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="encoding" type="xs:string" use="required"/>
				<xs:attribute name="imageFormat" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>
