<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2023 rel. 2 (x64) (http://www.altova.com) by Vipin Suresh (Radial) -->
<!-- Against a PO, Radial can generate more than one GR feed. It depends on how the operational team puts a way the PO. In special for big POs they split the put away process and therefore Radial system will generate more than one GR feeds. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="vendorOrderReceipt">
		<xs:complexType>
			<xs:all>
				<xs:element name="poNumber" type="xs:string">
					<xs:annotation>
						<xs:documentation>Purchase order number</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="vendorOrderId" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>If it has been provided in the PO interface then this will be populated with that value.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="deliveryDate" type="xs:dateTime">
					<xs:annotation>
						<xs:documentation>Date and time when the delivery has been receipt. Date format as per W3C ISO 8601. Sample:
							2015-10-26T19:32:52+01:00</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="lines">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="line" maxOccurs="unbounded">
								<xs:complexType>
									<xs:all>
										<xs:element name="lineId" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Line identifier from the client/third party system. It will contain the same value that hs been provided on PO feed</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="lineNumber" type="xs:integer">
											<xs:annotation>
												<xs:documentation>Sequence line number</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="altSku" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Alternative SKU</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="sku" type="xs:string">
											<xs:annotation>
												<xs:documentation>Client product identifier</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="qty">
											<xs:annotation>
												<xs:documentation>Quantity that has been receipt.</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:positiveInteger">
													<xs:minInclusive value="1"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="condition" type="xs:string">
											<xs:annotation>
												<xs:documentation>The condition of the product received.
													e.g.: GOOD, DAMAGED, DAMAGEDOFF.

													Depending on the integration this may hold the stock pool (the stock grade) e.g. A [saleable stock]; C [damaged stock]
													The exact code to be used would be provided at the time of implementation.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="conditionComment" type="xs:string"
													minOccurs="0"/>
										<xs:element name="receiptDate" type="xs:dateTime"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>The receipt date when the goods have been receipt in WMS system.
													This date could be different from the time the goods receipt (GR) message is generated/exported.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="distributionCentre" default="EEUK01"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>Distribution centre (facility code) the stock has been booked in.
													The exact codes are provided  by the implementation manager.</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="15"/>
													<xs:whiteSpace value="preserve"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="batchNumber" type="xs:string"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>Optional.
													It provides additional level of tracking/allocation for item inventory in the wharehouse management system.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="expireDate" type="xs:dateTime"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>The product expiration date.
													Prerequisite: Enable item master captureExpireDate flag for products that require expire date captured by Radial operation duering the receiving process.
													It's only present if the captured date is in the future, (see item master captureExpireDate flag defintion)</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="manufactureDate" type="xs:dateTime"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>The product Manufactured date.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="asnReference" type="xs:string"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>Asn Reference against the goods were received in WMS</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="wmsAsnReference" type="xs:string"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>WMS Asn Reference against the goods were received in WMS</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="putAwayLocation" type="xs:string"
													minOccurs="0">
											<xs:annotation>
												<xs:documentation>WMS location where the inventory is stored</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element minOccurs="0" name="rucItemId" type="xs:string">
											<xs:annotation>
												<xs:documentation>RUC Internal item ID</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element minOccurs="0" name="extendedAttributes"
													type="extendedAttributes">
											<xs:annotation>
												<xs:documentation>It defines the customizable section of the ASN lines, enabling the inclusion of additional information tailored to specific client requirements.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element minOccurs="0" name="poExtendedAttributes"
													type="extendedAttributes">
											<xs:annotation>
												<xs:documentation>It defines the customizable section of the PO lines, enabling the inclusion of additional information tailored to specific client requirements.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element minOccurs="0" name="lpnReference"
													type="xs:string">
											<xs:annotation>
												<xs:documentation>WMS inbound license plate number</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:all>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="messageId" type="xs:long" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Numeric unique Radial RUC outbound message ID.

							It's recommended to be used on:
							--------------------------------------
							1) Avoiding duplicate message processing;
							2) Debugging if a certain message has been sent/received/acknowledged.

							Limitation:  Radial doesn't guarantee the delivery of messages in the sequence order.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element minOccurs="0" name="clientId" type="xs:string">
					<xs:annotation>
						<xs:documentation>Radial client code assigned during implementation phase.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element minOccurs="0" name="extendedAttributes" type="extendedAttributes">
					<xs:annotation>
						<xs:documentation>It defines the customizable section of the ASN header, enabling the inclusion of additional information tailored to specific client requirements.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element minOccurs="0" name="lockedFlag" type="xs:boolean">
					<xs:annotation>
						<xs:documentation>PO Locked Flag
							Determines whether the Purchase Order is locked for updates.
							Accepted Values:
							- true - PO is locked; no updates accepted
							- false - PO is unlocked; subsequent updates are accepted</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element minOccurs="0" name="poExtendedAttributes" type="extendedAttributes">
					<xs:annotation>
						<xs:documentation>It defines the customizable section of the PO header, enabling the inclusion of additional information tailored to specific client requirements.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="extendedAttributes">
		<xs:annotation>
			<xs:documentation>It defines the customizable portion of the message, allowing for the inclusion of additional context or details tailored to specific needs.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element maxOccurs="unbounded" name="attribute">
				<xs:annotation>
					<xs:documentation>It holds the actual attribute value.
						Allowable Values: Text string
						Required: Yes
						Max length: 200
						Default Value: blank
						Restrictions: N/A</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="name" use="required">
								<xs:annotation>
									<xs:documentation>Attribute title
										Allowable Values: Text string
										Required: Yes
										Max length: 30
										Default Value: blank
										Restrictions: Yes</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="30"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
