You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1026 lines
37 KiB
XML

11 months ago
<?xml version="1.0" encoding="utf-8"?>
<!-- Verssion 3.0 2015-02-09 -->
<!-- 2015-07-02
add aciCode attribute in CarrierName
-->
<xs:schema id="Manifest"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="String4Type">
<xs:restriction base="xs:NMTOKEN">
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String3Type">
<xs:restriction base="xs:NMTOKEN">
<xs:length value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String1Type">
<xs:restriction base="xs:NMTOKEN">
<xs:length value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String2Type">
<xs:restriction base="xs:NMTOKEN">
<xs:length value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String7Type">
<xs:restriction base="xs:NMTOKEN">
<xs:length value="7" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MONType">
<xs:restriction base="xs:NMTOKEN">
<xs:maxLength value="3" />
<xs:minLength value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength4Type">
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
<xs:minLength value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength7Type">
<xs:restriction base="xs:string">
<xs:maxLength value="7" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength8Type">
<xs:restriction base="xs:string">
<xs:maxLength value="8" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength10Type">
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength14Type">
<xs:restriction base="xs:string">
<xs:maxLength value="14" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength15Type">
<xs:restriction base="xs:string">
<xs:maxLength value="15" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength20Type">
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength25Type">
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength31Type">
<xs:restriction base="xs:string">
<xs:maxLength value="31" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength35Type">
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength40Type">
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength50Type">
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength70Type">
<xs:restriction base="xs:string">
<xs:maxLength value="70" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MaxLength450Type">
<xs:restriction base="xs:string">
<xs:maxLength value="450" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UNDGNumberType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HSNumberType">
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
<xs:minLength value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ManifestTypeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="AFR">
<xs:annotation>
<xs:documentation>
For Japan Customs Filing.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="AMS">
<xs:annotation>
<xs:documentation>
For US Customs Filing.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ACI">
<xs:annotation>
<xs:documentation>
For Canada Customs Filing.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ISF">
<xs:annotation>
<xs:documentation>
For US Customs Filing.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ActionCodeValue">
<xs:annotation>
<xs:documentation>A: add ,AS : add and submit , R : amend ,RS : amend and submit , D : Delete, C: Data check only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="A">
<xs:annotation>
<xs:documentation>发到www.gsf24.com网站,保存但不向海关发送</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="AS">
<xs:annotation>
<xs:documentation>发到www.gsf24.com网站,保存但不向海关发送</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="D">
<xs:annotation>
<xs:documentation>删除指定MasterRefNo的主单</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C">
<xs:annotation>
<xs:documentation>检查并校验数据,但不保存</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="R" />
<xs:enumeration value="RS" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UNLocationCodeType">
<xs:annotation>
<xs:documentation xml:lang="en">Simple 5 Character UN Location Code (ISO 3661) Validation Pattern.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z]{5}" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CarrierType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="String4Type" use="required" />
<xs:attribute name="aciCode" type="String4Type" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="ConsignmentTypeValue">
<xs:annotation>
<xs:documentation>FCL or LCL</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="FCL" />
<xs:enumeration value="LCL" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PartyTypeValue">
<xs:annotation>
<xs:documentation>
CU - Customer (Include Shipper, Consignee,Notify Party), FD - Forwarder, CS - Consolidator, ST - Ship To TO - To Order MF - Manufacturer IM - Importer
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="CU">
<xs:annotation>
<xs:documentation>Customer (Include Shipper, Consignee,Notify Party)</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FD">
<xs:annotation>
<xs:documentation>Forwarder</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IM">
<xs:annotation>
<xs:documentation>Importer</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="MF">
<xs:annotation>
<xs:documentation>Manufacturer</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="CS">
<xs:annotation>
<xs:documentation>Consolidator</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="LG">
<xs:annotation>
<xs:documentation>Container Stuffing</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ST">
<xs:annotation>
<xs:documentation>Ship To</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="TO">
<xs:annotation>
<xs:documentation>TO Order</xs:documentation>
</xs:annotation>
</xs:enumeration>
<!--For old version-->
<xs:enumeration value="SH"/>
<xs:enumeration value="CN"/>
<xs:enumeration value="NF"/>
<xs:enumeration value="NP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FilingTypeValue">
<xs:annotation>
<xs:documentation>
E - Export
I - Import
B - In-Bond / IT required Bonded Freight Forwarder
T - Tranship / IE
S - In-Transit / TandE Transportation and Exportation
F - Freight Remain on Board
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="E" />
<xs:enumeration value="I" />
<xs:enumeration value="B" />
<xs:enumeration value="T" />
<xs:enumeration value="S" />
<xs:enumeration value="F" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OpTypeValue">
<xs:annotation>
<xs:documentation>OE: 海运出口; OI: 海运进口</xs:documentation>
</xs:annotation>
<xs:restriction base="String2Type">
<xs:enumeration value="OE" />
<xs:enumeration value="OI" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ACISNPTypeValue">
<xs:annotation>
<xs:documentation>Second Notify Party :BR-Broker,OC-Carrier,FD-Forwarder,WH-Warehouse</xs:documentation>
</xs:annotation>
<xs:restriction base="String2Type">
<xs:enumeration value="BR">
<xs:annotation>
<xs:documentation>Broker</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="OC">
<xs:annotation>
<xs:documentation>Ocean Carrier</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FD">
<xs:annotation>
<xs:documentation>Forwarder</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WH">
<xs:annotation>
<xs:documentation>Warehouse</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="classOwner">
<xs:annotation>
<xs:documentation>0 ==> E-Freight Standard; 1 ==> AMS Standard; 2 ==> AFR Standard;</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:int">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
<xs:enumeration value="2" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="VesselType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="IMO" type="MaxLength7Type" use="optional" />
<xs:attribute name="callSign" type="MaxLength8Type" use="optional" />
<xs:attribute name="voyage" type="MaxLength10Type" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="RequiredPortType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="UNLocationCodeType" use="required" />
<xs:attribute name="date" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ACISubMasterType">
<xs:simpleContent>
<xs:extension base="MaxLength25Type">
<xs:attribute name="code" type="String4Type" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ACIRequiredPortType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="MaxLength4Type" use="required" />
<xs:attribute name="subcode" type="MaxLength4Type" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="NotRequiredPortType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="xs:string" use="optional" />
<xs:attribute name="date" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="PlaceType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="xs:string" use="optional" />
<xs:attribute name="date" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="EFTUnitType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="MONType" use="required">
<xs:annotation>
<xs:documentation>
simple 3 character E-Freight unit type
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="classOwner" type="classOwner" use="optional" default="0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="CountryType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="String2Type" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="ContainerTypeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="12G0">
<xs:annotation>
<xs:documentation xml:lang="en">
10 Standard Dry
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22B0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Dry Bulk
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22P1">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Flat Rack
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22U6">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Hard Top
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="25G0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22H0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Insulated
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22U0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Open Top
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="29P0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Platform
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22P3">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Platform (collapsible)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22R1">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Reefer
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22R9">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Reefer (non food)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="25R1">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Reefer High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22G0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Standard Dry
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22T6">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Tank (dangerous - 6 bar)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22T0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Tank (non-dangerous)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="20T5">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Tank 8.0' (dangerous - 4 bar)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22T5">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Tank 8.5' (dangerous - 4 bar)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22T6">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Tank (dangerous - 6 bar)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="22V0">
<xs:annotation>
<xs:documentation xml:lang="en">
20 Ventilated
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42P1">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Flat Rack
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42U6">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Hard Top
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="45G0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="45U6">
<xs:annotation>
<xs:documentation xml:lang="en">
40 High Cube Hard Top
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42H0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Insulated
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42U0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Open Top
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="49P0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Platform
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42P3">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Platform (collapsible)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="45P3">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Platform High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42R1">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Reefer
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42R9">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Reefer (non food)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="45R1">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Reefer High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="45R9">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Reefer High Cube (non food)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42G0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Standard Dry
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42T0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Tank
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="42V0">
<xs:annotation>
<xs:documentation xml:lang="en">
40 Ventilated
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="L5G0">
<xs:annotation>
<xs:documentation xml:lang="en">
45 High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="L5R1">
<xs:annotation>
<xs:documentation xml:lang="en">
45 Reefer High Cube
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="M2G0">
<xs:annotation>
<xs:documentation xml:lang="en">
48 Ft
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="P2G0">
<xs:annotation>
<xs:documentation xml:lang="en">
53 Ft
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="P5G0">
<xs:annotation>
<xs:documentation xml:lang="en">
53 Ft HQ
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:element name="Manifest">
<xs:annotation>
<xs:documentation>Root level node</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Header" type="HeaderType"></xs:element>
<xs:element name="Master" type="Master"></xs:element>
<xs:element name="ShippingParties" type="ShippingPartysType"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="HeaderType">
<xs:sequence>
<xs:element name="MessageID" type="xs:string">
<xs:annotation>
<xs:documentation>Message Id is required</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ActionCode" type="ActionCodeValue">
<xs:annotation>
<xs:documentation>
A: 发到GSF24网站 ,AS : 发送到GSF24网站并提交海关 , R : amend ,RS : amend and submit , D : 删除指定主单, C: data check only
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SenderCode" type="xs:string">
<xs:annotation>
<xs:documentation>
报文发送方编码为E-Freight提供的PartnerCode
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ManifestType" type="ManifestTypeValues">
<xs:annotation>
<xs:documentation>
提单类型取值: ACI ,AMS,AFR, ISF
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CompanyCode" type="MaxLength8Type">
<xs:annotation>
<xs:documentation>
报文数据所有者为E-Freight提供的GroupCode
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SubmitterID" type="xs:string" minOccurs="0" >
<xs:annotation>
<xs:documentation>
以FTP上传Xml时若Xml文件解析数据校验发生错误将通过Email通知错误信息。Email地址以分号(;)分隔
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SubmitterPassword" type="xs:string" minOccurs="0" >
<xs:annotation>
<xs:documentation>
未使用
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BranchCode" type="xs:string">
<xs:annotation>
<xs:documentation>
提交报文的的公司(站点,各地分站编码)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SendDateTime" type="xs:string"></xs:element>
<xs:element name="Version" type="xs:string">
<xs:annotation>
<xs:documentation>
版本号:3.0; T==> For 发送测试报文; C==> 仅对报文进行校验
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShippingPartysType">
<xs:sequence>
<xs:element name="ShippingParty" type="ShippingPartyType" minOccurs="2" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShippingPartyType">
<xs:sequence>
<xs:element name="PartyCode" type="MaxLength40Type" />
<xs:element name="PartyType" type="PartyTypeValue" />
<xs:element name="PartyName" type="MaxLength70Type" />
<xs:element name="GroupCode" type="MaxLength8Type" minOccurs="0" nillable="true" />
<xs:element name="TaxId" type="MaxLength20Type" minOccurs="0" nillable="true" />
<xs:element name="PartyLocation" type="PartyLocationType" />
<xs:element name="PartyRemark" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="ContactPersons" type="ContactPersonsType" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PartyLocationType">
<xs:sequence>
<xs:element name="Address" type="AddressLineType" />
<xs:element name="City" type="MaxLength25Type" minOccurs="0" nillable="true"/>
<xs:element name="SubDivisionCode" type="String2Type" minOccurs="0" nillable="true"/>
<xs:element name="Region" type="MaxLength20Type" minOccurs="0" nillable="true"/>
<xs:element name="PostalCode" type="MaxLength10Type" minOccurs="0" nillable="true"/>
<xs:element name="Country" type="CountryType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactPersonsType">
<xs:sequence>
<xs:element name="Person" type="ContactPersonType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactPersonType">
<xs:sequence>
<xs:element name="ContactName" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="ContactMail" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="PhoneArea" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="Phone" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="FaxArea" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="Fax" type="xs:string" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AddressLineType">
<xs:sequence>
<xs:element name="AddressLine" type="MaxLength50Type" minOccurs="1" maxOccurs="2" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Master">
<xs:sequence>
<xs:element name="MasterBillNo" type="MaxLength20Type" />
<xs:element name="ACISubMasterBillNo" type="ACISubMasterType" minOccurs="0" nillable="true"/>
<xs:element name="OPType" type="OpTypeValue" />
<xs:element name="OriginAgentCode" type="MaxLength4Type" >
<xs:annotation>
<xs:documentation>在GSF24网站设定后方可使用</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DestinationAgentCode" type="xs:string" minOccurs="0" >
<xs:annotation>
<xs:documentation>
在GSF24网站设定后方可使用
仅如下两种可能情况下需提供1、进口代理需要登录GSF24查看数据 2、进口代理需要从GSF24下载数据
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CarrierName" type="CarrierType" />
<xs:element name="ConsignmentType" type="ConsignmentTypeValue" />
<xs:element name="HouseCount" type="xs:int" minOccurs="0" nillable="true"/>
<xs:element name="FilingType" type="FilingTypeValue" />
<xs:element name="ConsolidatorRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="ConsoPlaceRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="RouteInformation" type="RouteInformationType" />
<xs:element name="MasterRefNo" type="MaxLength20Type" />
<xs:element name="MasterContainers" type="MasterContainersType" />
<xs:element name="Houses" type="HousesType" />
<xs:element name="MasterRemark" type="xs:string" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SecondNotifyPartyType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="ACISNPTypeValue" use="required" />
<xs:attribute name="code" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="RouteInformationType">
<xs:sequence>
<xs:element name="DepartureVessel" type="VesselType" minOccurs="0" nillable="true"/>
<xs:element name="ArrivalVessel" type="VesselType" />
<xs:element name="LoadingPort" type="RequiredPortType" />
<xs:element name="TranshipPort" type="NotRequiredPortType" minOccurs="0" nillable="true"/>
<xs:element name="FirstArrivePort" type="NotRequiredPortType" minOccurs="0" nillable="true"/>
<xs:element name="LastForeignPort" type="NotRequiredPortType" minOccurs="0" nillable="true"/>
<xs:element name="DischargePort" type="RequiredPortType" />
<xs:element name="ACIDischargePort" type="ACIRequiredPortType" minOccurs="0" />
<xs:element name="DestinationPort" type="RequiredPortType" minOccurs="0" />
<xs:element name="ACIDestinationPort" type="ACIRequiredPortType" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MasterContainersType">
<xs:sequence>
<xs:element name="Container" type="MasterContainerType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="HousesType">
<xs:sequence>
<xs:element name="House" type="HouseType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MasterContainerType">
<xs:sequence>
<xs:element name="ContianerNo" type="MaxLength14Type" />
<xs:element name="ContainerType" type="ContainerTypeValues" />
<xs:element name="SealNo" type="MaxLength15Type" />
<xs:element name="SecondSealNo" type="MaxLength15Type" minOccurs="0" />
<xs:element name="ServiceCode" type="String2Type" minOccurs="0" nillable="true" default="CY"/>
<xs:element name="ShipperOwned" type="xs:string" minOccurs="0" default="2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="HouseType">
<xs:sequence>
<xs:element name="LastHBLIndicator" type="xs:boolean" minOccurs="0" default="false" />
<xs:element name="HouseNo" type="MaxLength20Type" />
<xs:element name="ShipperRefCode" type="MaxLength40Type" />
<xs:element name="ConsigneeRefCode" type="MaxLength40Type" />
<xs:element name="NotifyRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="SecondNotifyParty" type="SecondNotifyPartyType" minOccurs="0" default="false" />
<xs:element name="ImporterRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="PlaceReceipt" type="PlaceType" minOccurs="0" nillable="true"/>
<xs:element name="PlaceDelivery" type="PlaceType" minOccurs="0" nillable="true"/>
<xs:element name="TotalWeightKg" type="xs:decimal" minOccurs="0" nillable="true"/>
<xs:element name="TotalVolumnCBM" type="xs:decimal" minOccurs="0" nillable="true"/>
<xs:element name="HouseRefNo" type="MaxLength25Type" minOccurs="0" nillable="true"/>
<xs:element name="HouseContainers" type="HouseConainersType" nillable="true"/>
<xs:element name="DeliveryToRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="ColoadInSelfFilingIndicator" type="xs:boolean" minOccurs="0" default="false" />
<xs:element name="ColoadInShipperRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="ColoadInConsigneeRefCode" type="MaxLength40Type" minOccurs="0" nillable="true"/>
<xs:element name="ContainerLoadingPlaces" type="ContainerLoadingPlacesType" minOccurs="0" nillable="true"/>
<xs:element name="Manufacturers" type="ManufacturersType" minOccurs="0" nillable="true"/>
<xs:element name="HouseHSNumbers" type="HouseHSNumbersType" minOccurs="0" nillable="true"/>
<xs:element name="HouseRemark" type="xs:string" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContainerLoadingPlacesType">
<xs:sequence>
<xs:element name="ContainerLoadingPlaceRefCode" type="MaxLength40Type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ManufacturersType">
<xs:sequence>
<xs:element name="ManufacturerRefCode" type="MaxLength40Type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="HouseConainersType">
<xs:sequence>
<xs:element name="Container" type="HouseConainerType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="HouseConainerType">
<xs:sequence>
<xs:element name="ContianerRefNo" type="xs:NMTOKEN" />
<xs:element name="Package" type="xs:int" />
<xs:element name="Unit" type="EFTUnitType" />
<xs:element name="CountryOrigin" type="CountryType" minOccurs="0" nillable="true"/>
<xs:element name="GrossWeight" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="CBM" type="xs:string" minOccurs="0" nillable="true" />
<xs:element name="Marking" type="MaxLength450Type" />
<xs:element name="Description" type="MaxLength450Type" />
<xs:element name="HSNumber" type="HSNumberType" minOccurs="0" nillable="true" />
<xs:element name="HazardousDetails" type="HazardousDetailsType" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="IMOCodeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="1.1" />
<xs:enumeration value="1.2" />
<xs:enumeration value="1.3" />
<xs:enumeration value="1.4" />
<xs:enumeration value="1.5" />
<xs:enumeration value="1.6" />
<xs:enumeration value="2.1" />
<xs:enumeration value="2.2" />
<xs:enumeration value="2.3" />
<xs:enumeration value="3" />
<xs:enumeration value="3.1" />
<xs:enumeration value="3.2" />
<xs:enumeration value="3.3" />
<xs:enumeration value="4.1" />
<xs:enumeration value="4.2" />
<xs:enumeration value="4.3" />
<xs:enumeration value="5.1" />
<xs:enumeration value="5.2" />
<xs:enumeration value="6.1" />
<xs:enumeration value="8" />
<xs:enumeration value="9" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TemperatureUOMValues">
<xs:annotation>
<xs:documentation xml:lang="en">Set of Units of Measure for Temperature.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="CEL" />
<xs:enumeration value="FAH" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TemperatureType">
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="UOM" type="TemperatureUOMValues" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="PackingGroupCodeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="GreatDanger" />
<xs:enumeration value="MediumDanger" />
<xs:enumeration value="MinorDanger" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="HazardousDetailsType">
<xs:all>
<xs:element name="PackingGroupCode" type="PackingGroupCodeValues" minOccurs="0" nillable="true"/>
<xs:element name="IMOClassCode" type="IMOCodeValues" minOccurs="0" nillable="true"/>
<xs:element name="UNDGNumber" type="UNDGNumberType" minOccurs="0" nillable="true"/>
<xs:element name="FlashpointTemperature" type="TemperatureType" minOccurs="0" nillable="true"/>
<xs:element name="ContactName" type="MaxLength35Type" minOccurs="0" nillable="true"/>
<xs:element name="ContactPhone" type="MaxLength35Type" minOccurs="0" nillable="true"/>
<xs:element name="HazardousGoodsComments" type="MaxLength450Type" minOccurs="0" nillable="true"/>
</xs:all>
</xs:complexType>
<xs:complexType name="HouseHSNumbersType">
<xs:sequence>
<xs:element name="HSNumber" type="HSNumberType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>