Advance Shipping Notice Schema

Download ASN_v2015.1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas" 
           targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
	<xs:element name="NAMM_ASN">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Id">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="50"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Timestamp" type="xs:dateTime"/>
				<xs:element name="ShipmentHeader">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ShipmentType" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ShipmentId">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Shipped" type="xs:date" minOccurs="0"/>
							<xs:element name="EstDeliver" type="xs:date" minOccurs="0"/>
							<xs:element name="Supplier">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipFrom">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipmentRefs">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="MasterBOL" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="PRONbr" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="ConfNbr" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipmentQty">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ContainerQty" type="xs:integer"/>
										<xs:element name="ShipmentItemQty" type="xs:integer" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Volume" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="VolumeValue" type="xs:decimal" minOccurs="0"/>
										<xs:element name="VolumeUOMCode" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="5"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="VolumeUOMDesc" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="15"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Weight" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="WeightValue" type="xs:decimal" minOccurs="0"/>
										<xs:element name="WeightUOMCode" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="5"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="WeightUOMDesc" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="15"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="TranspCode" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="15"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="TranspDesc" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="50"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="SoldTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Vehicle" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="VehicleId" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="VehicleType" type="xs:string" minOccurs="0"/>
										<xs:element name="SealId" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Orders">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Order" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="BuyerOrderId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Containers">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Container" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ContainerId" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:maxLength value="25"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="ShipperTrackingNumber" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:maxLength value="25"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element minOccurs="0" name="Length" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="Width" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="Height" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="DimUOM" type="xs:string" />
																<xs:element minOccurs="0" name="Weight" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="WeightUOM" type="xs:string" />

																<xs:element name="Item" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="ItemId">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="BarCodeId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="14"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BarCodeType">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:enumeration value="GTIN-12"/>
																									<xs:enumeration value="GTIN-13"/>
																									<xs:enumeration value="GTIN-14"/>
																									<xs:enumeration value="PartNumber"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BuyerItemId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="25"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BuyerItemDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="50"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="SupplierItemId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="25"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="SupplierItemDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="50"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="POLineNbr" type="xs:integer"/>
																			<xs:element name="ItemQty">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="Qty" type="xs:decimal"/>
																						<xs:element name="ItemUOMCode" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="5"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="ItemUOMDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="15"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="ItemAttrs" minOccurs="0">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="SerialNbrs" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="SerialNbr" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="25"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																								</xs:sequence>
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="StdPack" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="ICQtyPerUOM" type="xs:decimal" minOccurs="0"/>
																									<xs:element name="ICUOM" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="5"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																									<xs:element name="StdPackType" type="xs:string" minOccurs="0"/>
																								</xs:sequence>
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="StdContainer" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="MCQtyPerUOM" type="xs:decimal" minOccurs="0"/>
																									<xs:element name="MCUOM" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="5"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																									<xs:element name="StdContainerType" type="xs:string" minOccurs="0"/>
																								</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:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:decimal" use="required" fixed="2015.1"/>
		</xs:complexType>
	</xs:element>
</xs:schema>