基于区块链的进口干散货进出港业务
电子平台建设指南
二〇二二年五月
目 录
基于区块链的进口干散货进出港业务
电子平台建设指南
为深入贯彻习近平总书记关于加快推动区块链技术和产业创新发展的重要指示精神,认真落实《交通强国建设纲要》《国家综合立体交通网规划纲要》,推动区块链技术与交通行业深度融合发展,交通运输部积极推进基于区块链技术的全球航运服务网络建设,推动在进口干散货运输中的应用,深入推进数据共享和业务协同,制定本指南。
《中华人民共和国港口法》;
《中华人民共和国海商法》;
《中华人民共和国数据安全法》;
《中华人民共和国个人信息保护法》;
《优化营商环境条例》;
《港口经营管理规定》;
《交通运输部 发展改革委 工业和信息化部 财政部 商务部 海关总署 税务总局关于大力推进海运业高质量发展的指导意见》(交水发〔2020〕18号);
GB/T 35273—2020 信息安全技术个人信息安全规范;
GB/T 19488.1 电子政务数据元第1部分:设计和管理规范;
GB/T 18391.2 信息技术元数据注册系统(MDR)第2部分:分类;
GB/T 22239 信息安全技术网络安全等级基本要求;
UN/CEFACT建议书3号:Codes for representation of names of countries;
UN/CEFACT建议书16号: Codes for ports and other locations;
UN/CEFACT建议书19号:Code for modes of transport;
海关总署:企业代码类型汇总表;
YD/T 3747—2020 区块链技术架构安全要求;
CBD-Forum-001—2017 区块链参考架构。
提出基于区块链技术的进口干散货进出港业务电子平台(以下简称平台)的建设架构,明确提单、提货单等单证及其他业务流转信息上链的数据格式及交互要求等。通过进口干散货单证及业务流转信息上链,实现收货人、货运代理(以下简称货代)、国际海运承运人(以下简称承运人)、港口企业、船舶代理(以下简称船代)、海关等节点在线流转办理,提升数字化服务水平。
一、船舶运输信息上链
承运人制定航次计划,明确航次的进出港业务相关方(即进口干散货数据交换的参与方),并将船舶运输信息提交到平台。
货物运抵港口前,收货人或其授权的货代在平台上提交提单信息,承运人确认收货人身份和提单信息,并允许卸货和换单操作,在平台上将状态通知发送给船代。
三、进口舱单申报
承运人或其授权的船代将进口舱单信息发送到平台,平台依需要向海关申请查询进口舱单回执信息。
收货人或其授权的货代将卸货委托信息提交到平台,相关参与方通过平台共享以上信息。鼓励港口推进靠泊计划安排信息上链共享,港口安排卸货计划后,将卸货动态提交到平台。
收货人或其授权的货代在平台上向船代递交换单申请。船代收到换单申请且货物到港完成卸货后,在平台上验证换单申请信息,编制提货单信息,并通过平台发送给承运人确认。承运人校验确认后,船代在平台上更新提货单状态为已换单,同步发送给收货人和港口。
六、混矿作业
收货人或其授权的货代将混矿作业申请发送到平台,相关参与方通过平台共享以上信息。港口根据混矿作业申请安排混矿作业,并将混矿动态提交到平台。
收货人或其授权的货代将报关报检申请信息发送到平台,平台依需要向海关申请查询海关放行信息。
货物直提。收货人或经过授权的货代在平台上发起预约提货流程。
提货权转移。收货人或其授权的货代通过平台发送提货权转移信息,将货物的全部或部分提货权转移给下一提货人,港口校验提货权转移信息后,明确提货权和提货数量,并更新各级提货权持有人在港的库存数量。
最终提货人将提货预约信息发送到平台,港口核对确认信息后发送预约回执,并做好准备。
最终提货人按照预约信息提货,港口将提货动态信息发送到平台。
图1基于区块链的进口干散货进出港业务流程示意图(卸货作业和申请报关可调整顺序)
基于区块链的进口干散货进出港业务电子平台架构包括访问渠道层、业务应用层、数据交互层、平台服务层、平台核心层,具体见图2。
图 2基于区块链的进口干散货进出港业务电子平台总体架构图
访问渠道层为各数据交互方的业务系统或相关应用,通过服务接口与数据交互层相连接。
业务应用层为数据交互方的业务逻辑,在进口干散货进出港业务场景下,主要包括:船舶运输信息上链、提单信息上链、港口卸货作业、提货单信息上链、混矿作业、申请报关、港口放货、预约提货、提货离场等。
数据交互层为各数据交互方通用的接入协议和服务接口,主要包括:数据的加解密服务、数字签名证书的配置管理和接口适配管理等。
平台服务层为数据交互层提供高效、可靠的访问,通过封装平台核心层功能组件,提供身份管理、节点管理、交易管理和运维监测等。
平台核心层包括区块链节点和跨链服务。平台可通过跨链服务同其他区块链平台对接,实现业务场景拓展和数据共享。区块链节点通过独立节点或共享节点来实现,包括:节点间的共识机制和分布式账本、隐私保护、密码算法等模块,以及执行预设逻辑的智能合约。
进口干散货进出港业务参与方包括承运人、港口企业、海关、收货人、货代、船代等提供干散货水运服务的单位,各参与方既是信息的提供方也是使用方,各参与方通过区块链交换平台完成进口干散货放货信息的交换。业务应用层通过数据交互层提供的网络服务接口提交数据。数据交互层将业务数据、提交时间戳、数据散列值组成事务,并由数据提供方进行签名后发送到平台服务层。平台服务层校验事务签名后,经过交易管理和节点管理,将需要交换的信息提交到平台核心层执行智能合约。平台核心层通过共识机制将信息写入到区块链分布式账本中,完成干散货放货信息的上链。事务上链确认完成后,平台核心层向平台服务层确认事务上链成功,平台服务层通过消息队列,将消息分发给接收方。接收方的数据交互层接收消息后,解密数据并发送给业务应用层,平台支持一对一、一对多的数据交换。
平台中的数据以加密方式传输,数据的加密和解密均在数据交互层执行,数据交互方各自拥有不同的密钥,数据交互层建立身份鉴别机制,使用身份认证证书进行认证。
(一)进口干散货单证管理。
具有货物单证的查询和管理功能,包括单证签发或上传、单证流转、单证状态查询、换单、分单、单证追溯等功能。
(二)进口干散货货物管理。
具有货物状态跟踪、追溯、换程、拆分等功能。
(三)进口干散货提货权数字化链式管理。
具有在港货物多级提货权和多批次提取的链式记录、跟踪、查验以及追溯等管理功能。
平台功能、核心组件、数据交互、安全要求等内容,参见《基于区块链的进口集装箱电子放货平台建设指南》。
基于区块链的进口干散货进出港业务数据包括信息头及事务数据。其中,信息头是关于数据结构和属性的说明,包括平台或交易唯一标识、特征数据等;事务数据是开展实际业务产生的信息,包括参与方数据和干散货运输信息数据。
数据的属性信息包括:英文名称、中文名称、层次、要求、类型、长度和必选等内容,要求如下:
(1)英文名称:描述数据元的英文名称。
(2)中文名称:描述数据元的中文名称。
(3)层次:描述了报文结构所属的层次关系。
(4)要求:详细描述了数据元的内容和表达的含义。
(5)类型:描述数据元的特征和基本要素,主要包括:日期型(datetime,如无特别说明则使用格林威治时间,格式为YYYYMMDDhhmmss)、字符型(string)、数字型(number,其中,重量的计量单位为MT)。
(6)长度:描述该数据元的长度。在本指南中用定长或不定表示。如是定长,给出了推荐长度。
(7)必选:描述该数据元是否必选。在本指南中分为必选(M)、非必选(O)和可选(C)。
- 数据结构。
信息头的数据结构见图3。
图 3 基于区块链的进口干散货进出港业务信息头结构图
- 字段说明。
信息头字段说明见表1。
表 1 信息头所需规定的字段名和字段说明
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | Meta_data | 信息头 | 0 | 数据结构和属性的说明,包括平台或交易唯一标识、特征数据等。 | string | 不定 | M |
2 | tx_id | 业务协同码 | 1 | 港航区块链中作为一个具体业务的唯一编码。由联盟链返回的唯一事务识别号。 | string | 100 | M |
3 | tx_version | 事务版本号 | 1 | 信息头数据结构版本号。 | srting | 10 | M |
4 | tx_type | 专属业务分类 | 1 | 由联盟链返回的接口服务交互类型。每种业务具有定义的专属业务类型。
1:参与方业务主体; 2:船舶规范; 100:船舶运输; 101:提单; 102:进口舱单; 103:舱单回执; 104:港口卸货作业委托; 105:港口卸货动态; 106:换单申请; 107:提货单; 108:混矿作业申请; 109:混矿动态; 110:海关放行; 111:提货权转移; 112:预约提货字; 113:预约回执; 114:提货离场。 |
string | 4 | M |
5 | tx_type_version | 业务信息版本号 | 1 | 业务信息数据结构版本号. | string | 10 | M |
6 | tx_date | 上链时间戳 | 1 | 业务信息上链时间戳由联盟链返回的上链时的时间。 | datetime | 35 | M |
7 | vg_no | 航次 | 1 | 船舶航行的班次编号。与航次相关的业务信息必填 | string | 10 | O |
8 | cargo_no | 货物批次号 | 1 | 航次业务必选。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。可以是多条,多个cargo_ no间以“,”分割。与货物批次相关的业务信息必填 | string | 100 | O |
9 | tx_data_hash | 业务信息散列值 | 1 | 业务信息数据或业务信息数据的散列值信息格式为{”hash”:“散列值”}。 | string | 100 | M |
10 | tx_data | 业务信息 | 1 | 业务信息上链数据明细
tx_type为1时,tx_data为参与方业务主体数据; tx_type为100时,tx_data为船舶运输数据; tx_type为101时,tx_data为提单数据; tx_type为102时,tx_data为进口舱单数据; tx_type为103时,tx_data为舱单回执数据; tx_type为104时,tx_data为港口卸货作业委托数据; tx_type为105时,tx_data为港口卸货动态数据; tx_type为106时,tx_data为换单申请数据; tx_type为107时,tx_data为提货单数据; tx_type为108时,tx_data为混矿作业申请数据; tx_type为109时,tx_data为混矿动态数据; tx_type为110时,tx_data为海关放行数据; tx_type为111时,tx_data为提货权转移数据; tx_type为112时,tx_data为预约提货字数据; tx_type为113时,tx_data为预约回执数据; tx_type为114时,tx_data为提货离场数据。 |
string | 不定长 | M |
进口干散货进出港业务参与方包括承运人、收货人、港口企业、货代、船代、海关等角色。通过区块链账本维护,保证所有参与方可以通过区块链用户唯一编码(id)获得准确实时的参与方数据。
- 数据结构。
进口干散货进出港业务参与方数据结构见图4。
图 4 进口干散货进出港业务参与方数据结构
- 字段说明。
进口干散货电子进出港业务参与方业务主体字段说明见表2。
表 2 参与方业务主体数据要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | Dry_bulk_user | 干散货参与方用户 | 0 | 干散货参与方用户信息。 | string | 不定 | |
2 | user_id | 区块链用户唯一编码 | 1 | 参照海关企业代码类型汇总表,在平台申请用户唯一编码时,对于境内用户有统一社会信用代码的,应填写统一社会信用代码,填写格式为“USCI+代码”;暂无统一社会信用代码的,填写组织机构代码,填写格式为“OC+代码”;对于所属国家或地区未列在海关总署《企业代码类型汇总表》或者无法提供表中所列企业代码类型的,应当填写用户在所在国家或地区的法定企业注册代码,填写格式为“9999+企业代码”;为自然人的,应当填写身份证、护照号或其他有效证件,填写格式分别为“ID+身份证号”、“PASSPORT+护照号”、“8888+身份代码”。 | string | 100 | M |
3 | user_cert | 区块链用户证书 | 1 | 参与方在加入平台时由平台审核颁发的用户数字证书。 | string | 不定 | M |
4 | org_cert | 区块链组织证书 | 1 | 参与方在加入平台时由平台审核后颁发的标志参与方组织的数字证书。 | string | 不定 | M |
5 | user_name | 企业名称 | 1 | 与企业代码一致的企业名称或规范化中文全称(如有)。 | string | 100 | M |
本节规定了参与方在基于区块链的进口干散货进出港业务开展过程中需要进行数据交换的字段及要求。
(一)船舶运输信息。
船舶运输信息数据结构见图5,船舶运输信息字段及要求见表3,船舶规范信息字段及要求见表4。
图 5 船舶运输信息数据结构
表 3 船舶运输信息字段要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | transport_org | 运输组织信息 | 0 | 运输组织详细信息。 | string | 不定 | |
2 | ship_id | 船舶规范业务协同码 | 1 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
3 | vg_no | 航次 | 1 | 船舶航行的班次编号。 | string | 10 | M |
4 | carrier | 承运人编码 | 1 | 承运人区块链用户唯一编码。 | string | 100 | M |
5 | consignor | 发货人编码 | 1 | 发货人区块链用户唯一编码。 | string | 100 | O |
6 | consignee | 收货人编码 | 1 | 收货人区块链用户唯一编码。 | string | 100 | O |
7 | charterer | 租家编码 | 1 | 租家区块链用户唯一编码。 | string | 100 | O |
8 | vyg_port | 挂港及航行动态 | 1 | 由多条挂港数据组成 | 挂港数据结构 | M | |
9 | sequence | 挂港顺序 | 2 | 各挂港数据按由小到大排序 | number | 2 | M |
10 | port | 目的地港口代码 | 2 | 目的地港口的港口代码,遵循GB/T 7407。 | string | 5 | M |
11 | calling_purpose | 靠港目的 | 2 | 靠港目的
1:装货 4:装卸货 |
string | 1 | M |
12 | port_op | 港口公司编码 | 2 | 港口公司区块链用户唯一编码。 | string | 100 | M |
13 | cargo_agent | 货代编码 | 2 | 货代区块链用户唯一编码,确定代理后必填。 | string | 100 | C |
14 | ship_agent | 船代编码 | 2 | 船代区块链用户唯一编码,确定代理后必填。 | string | 100 | C |
15 | vessel_status | 船舶状态 | 2 | 船舶状态。
1—在途 4—到港锚泊 5—指泊申请 6—指泊审批 7—靠泊 13—离港 |
string | 2 | M |
16 | status_time | 船舶动态时间 | 2 | 船舶动态时间。
vessel_status为1时记录ETA时间 vessel_status为4时记录锚泊时间 vessel_status为7时记录实际靠泊时间 vessel_status为13时记录离港时间 |
string | 100 | M |
17 | longitude | 船舶位置经度 | 2 | vessel_status为1时必填,记录船舶经度
vessel_status为4时必填,记录锚位经度 vessel_status为13时必填,记录离港船舶经度 |
string | 100 | C |
18 | dimension | 船舶位置维度 | 2 | vessel_status为1时必填,记录船舶纬度
vessel_status为4时必填,记录锚位纬度 vessel_status为13时必填,记录离港船舶纬度 |
string | 100 | C |
19 | berth | 泊位 | 2 | vessel_status为7时记录泊位号 | string | 100 | C |
20 | remark | 备注 | 2 | 备注信息。
vessel_status为7时记录预计离港时间 vessel_status为其他值时不填 |
string | 1000 | C |
表 4 船舶规范信息字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | vessel_cn_nm | 中文船名 | 使用中文表述的船舶名称,有中文船名时必填 | string | 100 | C |
2 | vessel_nm | 英文船名 | 使用英文或汉语拼音表述的船舶名称 | string | 100 | M |
3 | ship_national_country_code | 船籍国 | 船籍所在国家代码,遵循GB/T 2659。 | string | 3 | M |
4 | ship_national_port | 船籍港 | 船籍所在港口代码,遵循GB/T 7407。 | string | 5 | M |
5 | register_date | 登记日期 | 船舶登记日期 | datetime | 35 | M |
6 | vessel_cd | 船舶编码 | 船舶IMO编号,已在IMO登记的船舶必填。 | string | 7 | C |
7 | ship_id_number | 船舶识别号 | 永久识别船舶的唯一编码。根据海事管理机构对船舶识别号的要求确定。 | string | 13 | M |
8 | mmsi_no | MMSI编号 | 海上移动业务识别码 | string | 9 | M |
9 | register_cert_no | 船舶登记证书编号 | 船舶登记证书的编号 | string | 100 | M |
10 | call_sign | 呼号 | 国际海事组织IMO指定给每条船舶唯一的识别信号 | string | 5 | M |
11 | ship_building_date | 建造日期 | 船舶建造安放龙骨日期 | datetime | 35 | M |
12 | tpc | TPC | 每厘米吃水吨数 | number | number (3,2) | M |
13 | cross_tonnage | 总吨 | 船舶登记证上记载的吨位数 | number | 16 | M |
14 | net_tonnage | 净吨 | 船舶载货的吨位数 | number | 16 | M |
15 | dead_weight_tonnage | 载重吨 | 船舶在相对密度1.025的海水中,夏季载重线与空船排水量之差 | number | 16 | M |
16 | draft | 吃水 | 船舶在港内吃水深度 | number | number (8,2) | M |
17 | moulded_breadth | 型宽 | 船舶型宽 | number | number (6,2) | M |
18 | moulded_depth | 型深 | 船舶型深 | number | number (6,2) | M |
19 | Length_overall | 总长 | 船舶长度 | number | number (6,2) | M |
(二)提单信息。
提单信息数据结构见图6。提单信息字段及要求见表5。
图 6 提单信息数据结构
表 5 提单信息字段要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | bl_info | 提单信息 | 0 | 提单的详细信息。 | string | 不定 | |
2 | bl_version | 提单版本 | 1 | 提单版本,包括Congenbill 1994、Congenbill 2007等。 | string | 100 | M |
3 | bl_no | 提单号 | 1 | 提单的号码。 | string | 35 | M |
4 | vessel_nm | 英文船名 | 1 | 使用英文或汉语拼音表述的船舶名称。 | string | 100 | M |
5 | vessel_cd | 船舶编码 | 1 | 船舶IMO编号 | string | 7 | M |
6 | consignee_id | 收货人编码 | 1 | 收货人的区块链用户唯一编码,平台用户必填。 | string | 100 | C |
7 | consignee_name | 收货人 | 1 | 收货人的区块链用户唯一编码。 | string | 100 | M |
8 | consignee_country_code | 收货人国家代码 | 1 | 收货人所属的国家代码,遵循GB/T 2659。 | string | 3 | M |
9 | consignor_id | 发货人编码 | 1 | 发货人的区块链用户唯一编码,平台用户必填。 | string | 100 | C |
10 | consignor_name | 发货人 | 1 | 发货人的区块链用户唯一编码。 | string | 100 | M |
11 | consignor_country_code | 发货人国家代码 | 1 | 发货人所属的国家代码,遵循GB/T 2659。 | string | 3 | M |
12 | notifyparty_id | 通知人编码 | 1 | 通知人的区块链用户唯一编码,平台用户必填。 | string | 100 | C |
13 | notifyparty_name | 通知人 | 1 | 通知人区块链用户唯一编码。 | string | 150 | O |
14 | load_location | 装货港港口代码 | 1 | 装货港的港口代码,遵循GB/T 7407。 | string | 5 | M |
15 | dis_location | 卸货港港口代码 | 1 | 卸货港的港口代码,遵循GB/T 7407。 | string | 5 | O |
16 | gross_weight | 货物重量 | 1 | 货物的重量值,单位MT。 | number | number(8,3) | M |
17 | cargo_info | 货物信息 | 1 | 提单中货物的信息,包括货物名称、描述、货物分组、危险品分类、UN编号 | string | 不定 | M |
18 | cargo_name | 货物名称 | 2 | 遵循BULK CARGO SHIPPING NAME ( BCSN)定义。 | string | 4000 | M |
19 | cargo_group | 货物分组 | 2 | 货物分组,遵循imsbccode及imdg定义 | String | 100 | C |
20 | risk_categories | 危险性分类 | 2 | 货物的危险性分类,如货物适用时必选,遵循imsbccode及imdg定义 | String | 100 | C |
21 | UN_code | UN编号 | 2 | 货物的UN编号,如货物适用时必选,遵循imsbccode及imdg定义 | string | 100 | C |
22 | consignee_cargo_description | 货物描述 | 2 | 内容可以包括品名、尺寸、包装等。 | string | 500 | M |
23 | issue_place | 提单签发地 | 1 | 提单的签发地标识,即装货港港口代码,遵循GB/T 7407。 | string | 5 | M |
24 | issue_date | 提单签发日期 | 1 | 提单的签发日期。 | datetime | 35 | M |
25 | bill_num | 正本提单份数 | 1 | 正本提单的份数。 | number | 10 | M |
26 | freight_payment_code | 运费支付方式 | 1 | 运费支付方式,
CC Collect 到付; FF Free 免费; PP Prepaid only 预付。 |
string | 3 | O |
27 | remark_info | 备注 | 1 | 备注信息 | string | 4000 | O |
28 | bl_status | 提单放货状态 | 1 | 提单的状态标识,1—不允许放货(默认值);2—允许放货;3—提单回收。 | string | 1 | M |
29 | endorsements | 提单背书 | 1 | 记录提单背书流转,平台电子提单应用必填 | – | 不定 | C |
30 | label | 背书信息 | 2 | 背书流转信息 | string | 4000 | M |
31 | signature | 背书签名 | 2 | 背书签名信息 | string | 4000 | M |
32 | Issuer_id | 提单签发者编码 | 1 | 提单签发者的区块链用户唯一编码,平台电子提单应用必填。 | string | 100 | C |
33 | owner_id | 提单所有者编码 | 1 | 提单所有者的区块链用户唯一编码,平台电子提单应用必填。 | string | 100 | C |
34 | cargo_owner_id | 物权所有者编码 | 1 | 物权所有者的区块链用户唯一编码,平台电子提单应用必填。 | string | 100 | C |
35 | status | 提单流转状态 | 1 | 平台电子提单应用必填,提单流转状态如下:
1:签发; 2:转让; 3:交单; 4:完成; 5:修改; 6:拆单; 7:中止。 |
string | 1 | C |
(三)进口舱单信息
进口舱单信息数据结构见图7。进口舱单信息字段及要求见表6。进口舱单回执信息见表7。
图7 进口舱单信息数据结构图
表 6 进口舱单数据要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 | ||
1 | import manifest
|
进口舱单 | 0 | 进口舱单的详细信息。 | – | 不定 | |||
2 | function_code | 舱单申报功能代码 | 1 | 9—新增;5—修改;3—删除。 | string | 5 | M | ||
3 | representativ_eperson_name | 舱单传输人代码 | 1 | 填写舱单传输人的海关组织机构代码。 | string | 35 | M | ||
4 | vyg_no | 航次 | 1 | 船舶航行的班次编号。 | string | 10 | M | ||
5 | vessel_nm | 船名 | 1 | 使用英文或者汉语拼音表述的是船舶名称。 | string | 100 | M | ||
6 | vessel_cd | 船舶编码 | 1 | 填写imo编号。 | string | 7 | M | ||
7 | carrier_code | 承运人代码 | 1 | 填写承运人的海关组织机构代码。 | string | 35 | M | ||
8 | exit_customs_office_code | 离境地港口代码 | 1 | 遵循GB/T 7407。 | string | 11 | M | ||
9 | term_c | 靠泊码头代码 | 1 | 遵循GB/T 7407。 | string | 5 | M | ||
10 | transport_type_code | 运输方式 | 1 | 0:非保税区;
1:监管仓库; 2:水路运输; 3:铁路运输; 4:公路运输; 5:航空运输; 6:邮件运输; 7:保税区; 8:保税仓库; 9:其他运输; A:全部运输方式; H:边境特殊海关作业区; W:物流中心; X:物流园区; Y:保税港区; Z:出口加工区。 |
string | 1 | M | ||
11 | agent_code | 运输工具代理企业代码 | 1 | 船舶代理企业代码。 | string | 35 | O | ||
12 | departure_date | 启运日期和时间 | 1 | 船舶启运日期和时间。 | datetime | 14 | M | ||
13 | first_arrival_location | 抵达关境内第一个目的港口代码 | 1 | 遵循GB/T 7407。 | string | 11 | M | ||
14 | first_arrival_date | 抵达关境内第一个目的港的日期和时间 | 1 | 抵达关境内第一个目的港的日期和时间 | datetime | 17 | M | ||
15 | change_reason | 舱单变更原因 | 1 | 舱单变更时必填。 | string | 不定 | C | ||
16 | change_contact_name | 变更申请联系人 | 1 | 舱单变更时必填。 | string | 30 | C | ||
17 | change_contact_tel | 变更申请联系电话 | 1 | 舱单变更时必填。 | string | 30 | C | ||
18 | bl_infos | 提单信息 | 1 | 提单详细信息 | – | 不定 | |||
19 | transport_doc_num | 总提运单号 | 2 | 总提运单号。 | string | 35 | M | ||
20 | associated_transport_doc_num | 分提运单号 | 2 | 存在分提运单时必选。 | string | 35 | C | ||
21 | gross_volume | 货物体积 | 2 | 货物的体积值,单位CBM。 | string | 15 | O | ||
22 | condition_code | 运输条款代码 | 2 | 使用联合国贸易数据交换目录(UNTDID):
10—port to port 港到港 27—door to door 门到门 28—door to pier 门到点 29—pier to door 点到门 30—pier to pier 点到点。 |
string | 3 | O | ||
23 | transport_split_indicator | 承运人货物分批到/发货标识 | 2 | 0—整批;
1—分批。 |
string | 1 | O | ||
24 | freight_payment_code | 运费支付方法
|
2 | 运费支付方式,
CC Collect 到付; FF Free 免费; PP Prepaid only 预付。 |
string | 3 | M | ||
25 | load_location | 装货地港口代码 | 2 | 遵循GB/T 7407。 | string | 11 | M | ||
26 | load_date | 货物装载运输工具时间 | 2 | 货物装载运输工具的时间。 | datetime | 17 | M | ||
27 | dis_location | 卸货地港口代码 | 2 | 遵循GB/T 7407。 | string | 11 | M | ||
28 | arrival_dis_location_date | 到达卸货地日期 | 2 | 船舶到达卸货地日期。 | datetime | 17 | O | ||
29 | receipt_place_code | 收货地点代码 | 2 | 收货地点代码,遵循GB/T 7407。 | string | 11 | O | ||
30 | receipt_place_name | 收货地点名称 | 2 | 收货地点名称。 | string | 100 | O | ||
31 | trans_place_code | 中转地代码 | 2 | 如果有中转地必填。 | string | 11 | C | ||
32 | trans_dis_place_code | 中转目的地港口代码 | 2 | 遵循GB/T 7407。 | string | 11 | O | ||
33 | customs_status_code | 货物海关状态代码
|
2 | 001—进、出口货物;
002—国际转运货物; 003—过境货物; 004—暂时进出境集装箱; 006——快件。 |
string | 3 | M | ||
34 | goods_consigned_place | 货物托运地点或国家代码 | 2 | 遵循GB/T 2659。 | string | 11 | M | ||
35 | consignee | 收货人 | 2 | 收货人详细信息 | – | 不定 | M | ||
36 | consignee_aeo_code | 收货人AEO企业编码 | 3 | 收货人AEO企业编码。 | string | 20 | O | ||
37 | consignee_name | 收货人名称 | 3 | 收货人名称。 | string | 100 | M | ||
38 | consignee_line | 收货人地址 | 3 | 收货人地址。 | string | 100 | M | ||
39 | consignee_communication_number | 收货人联系号码 | 3 | 如果提单中有此信息必填。 | string | 50 | C | ||
40 | consignee_communication_type | 收货人联系方式 | 3 | 如果提单中有此信息必填。EM—Electronic mail 电子邮件;
FX—Telefax 电传; TE—Telephone 电话。 |
string | 2 | C | ||
41 | consignee_country_code | 收货人国家代码 | 3 | 如果提单中有此信息必填。遵循GB/T 2659。 | string | 3 | C | ||
42 | consignor | 发货人 | 2 | 发货人详细信息 | – | 不定 | M | ||
43 | consignor_aeo_code | 发货人AEO企业编码 | 3 | 发货人AEO企业编码。 | string | 20 | O | ||
44 | consignor_name | 发货人名称 | 3 | 发货人名称。 | string | 100 | M | ||
45 | consignor_line | 发货人地址 | 3 | 发货人地址。 | string | 100 | M | ||
46 | consignor_communication_number | 发货人联系号码 | 3 | 发货人联系号码。 | string | 50 | M | ||
47 | consignor_communication_type | 发货人联系方式 | 3 | EM—Electronic mail 电子邮件;
FX—Telefax 电传; TE—Telephone 电话。 |
string | 2 | M | ||
48 | consignor_country_code | 发货人国家代码 | 3 | 遵循GB/T 2659。 | string | 3 | M | ||
49 | notifyparty | 通知人 | 2 | 通知人详细信息 | – | 不定 | M | ||
50 | notifyparty_name | 通知人名称 | 3 | 如果提单中有此信息必填。 | string | 150 | C | ||
51 | notifyparty_line | 通知人地址 | 3 | 如果提单中有此信息必填。 | string | 100 | C | ||
52 | notifyparty_communication_number | 通知人联系号码 | 3 | 如果提单中有此信息必选。 | string | 50 | C | ||
53 | notifyparty_communication_type | 通知人联系方式 | 3 | EM—Electronic mail 电子邮件;
FX—Telefax 电传; TE—Telephone 电话。 |
string | 2 | C | ||
54 | notifyparty_country_code | 通知人国家代码 | 3 | 如果提单中有此信息必选,遵循GB/T 2659。 | string | 3 | C | ||
55 | undgcontact_name | 危险货物联系人姓名 | 2 | 危险货物必填。 | string | 30 | C | ||
56 | undgcontact_communication_number | 危险货物联系人号码 | 2 | 危险货物必填。 | string | 50 | C | ||
57 | undgcontact_communication_type | 危险货物联系人方式 | 2 | 危险货物必填。 | string | 2 | C | ||
58 | goods-info | 货物信息 | 2 | 货物的详细信息。 | – | 不定 | M | ||
59 | seq_num | 货物序号 | 3 | 货物序号。 | string | 5 | M | ||
60 | packages_type | 包装种类代码 | 3 | 包装种类代码,按海关规定的《包装种类代码表》填写。 | string | 2 | M | ||
61 | mark_num | 唛头 | 3 | 唛头。 | string | 不定 | O | ||
62 | undg_code | 危险货物编号 | 3 | 危险货物编号。 | string | 4 | O | ||
63 | hs_code | 海关税则编号 | 3 | HS编号。 | string | 12 | O | ||
64 | packages_quantity | 货物件数 | 3 | 货物的件数值,无法填报件数的裸装散货填“1”。 | number | number (8) | M | ||
65 | gross_weight | 货物毛重 | 3 | 货物的毛重值,单位千克。 | number | number(8,3) | M | ||
66 | cargo_description | 货物简要描述 | 3 | 货物信息的简要描述。 | string | 不定 | M | ||
67 | additional_information | 货备注 | 3 | 货的备注信息。 | string | 不定 | O |
表 7 舱单回执数据要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | cd_id | 舱单交易id | 提交舱单的tx_id。 | string | 100 | M |
2 | vessel_cd | 船舶编码 | IMO编号。 | string | 100 | M |
3 | vyg_no | 航次 | 船舶航行的班次编号。 | string | 10 | M |
4 | transport_doc_num | 总提运单号 | 总提运单号。 | string | 35 | M |
5 | associated_transport_doc_num | 分提运单号 | 分提运单号。 | string | 35 | O |
6 | ack_time | 回执时间 | 回执发送的时间 | datetime | 17 | M |
7 | ack_content | 回执内容 | 回执内容。 | string | 不定 | M |
(四)港口卸货作业信息。
包括港口卸货作业委托信息和港口卸货动态信息,港口卸货作业委托所需字段及要求见表8,港口卸货动态所需字段及要求见表9。
表 8 港口卸货作业委托字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | ship_id | 船舶规范业务协同码 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
2 | port | 港口编码 | 唯一标识港口名称的编码,遵循UN/CEFACT建议书16号《 Codes for ports and other locations》。 | string | 10 | M |
3 | vyg_no | 航次 | 船舶航行的班次编号。 | string | 10 | M |
4 | ETA | 预计抵港时间 | 预计抵港时间 | datetime | 35 | M |
5 | cargo_no | 货物批次号 | 货物的批次号。格式为“cgno+货物批次”,货物编码规为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
6 | bl_no | 提单号 | 提单的号码 | string | 35 | M |
7 | cargo_name | 货物名称 | 货物名称,遵循BULK CARGO SHIPPING NAME ( BCSN)定义。 | string | 4000 | M |
8 | quantity | 货物重量 | 货物的重量信息,单位MT。 | number | number(8,3) | M |
9 | cargo_agent | 货代编码 | 货代的区块链用户唯一编码。 | string | 100 | M |
10 | ship_agent | 船代编码 | 船代的区块链用户唯一编码。 | string | 100 | M |
11 | consignee_id | 收货人编码 | 收货人的区块链用户唯一编码。 | string | 100 | M |
12 | entrust_id | 委托公司编码 | 委托公司的区块链用户唯一编码。 | string | 100 | M |
13 | bonded | 保税标志 | 是否保税,1—保税;0—非保税。 | string | 1 | M |
表 9 港口卸货动态字段要求
序号 | 英文名称 | 名称 | 要求 | 类型 | 长度 | 必选 |
1 | port | 港口编码 | 唯一标识港口名称的编码,遵循UN/CEFACT建议书16号《 Codes for ports and other locations》。 | string | 10 | M |
2 | ship_id | 船舶规范业务协同码 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
3 | consignee_id | 收货人编码 | 收货人的区块链用户唯一编码。 | string | 100 | M |
4 | cargo_agent | 货代编码 | 货代的区块链用户唯一编码。 | string | 100 | M |
5 | stock_pile | 堆存信息 | 货物堆存信息,多个堆位号间用逗号分隔。 | string | 100 | O |
6 | bonded | 保税标志 | 是否保税,1—保税;0—非保税。 | string | 1 | M |
7 | bl_id | 提单编号 | 提单信息上链的业务协同码。 | string | 100 | M |
8 | cargo_no | 货物批次号 | 货物的批次号。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
9 | cargo_name | 货物名称 | 货物名称,遵循BULK CARGO SHIPPING NAME ( BCSN)定义。 | string | 4000 | M |
10 | work_no | 工班序号 | 日期+两位序列号 | string | 10 | M |
11 | begin_date | 开始时间 | 工班开始装卸货日期,时间精确到日。 | string | 35 | M |
12 | end_date | 结束时间 | 工班结束装卸货日期 | string | 35 | M |
13 | quantity | 货物重量 | 装卸货物的重量,单位MT。 | number | number(8,3) | M |
14 | bonded | 保税标志 | 是否保税,1—保税;0—非保税。 | string | 1 | M |
15 | stock_pile
|
堆存信息 | 货物堆存信息,多个堆位号间用逗号分隔 | string | 100 | O |
16 | status | 装卸货状态 | 装卸货状态标识,包括:
ongoing,finish |
string | 100 | M |
(五)提货单信息。
包括换单申请和提货单信息,换单申请所需字段及要求见表10,提货单所需字段及要求见表11。
表 10 换单申请字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | applicant_id | 申请人编码 | 申请人的区块链用户唯一编码。 | string | 100 | M |
2 | cargo_name | 货物名称 | 货物名称,遵循BULK CARGO SHIPPING NAME ( BCSN)定义。 | string | 4000 | M |
3 | bl_id | 提单编号 | 提单信息上链的业务协同码。 | string | 100 | M |
4 | cargo_no | 货物批次号 | 货物的批次号。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
5 | do_id | 提货单号 | 提货单号,提货单签发上链的业务协同码,提货单签发后更新。 | string | 100 | M |
6 | apply_date | 申请日期 | 申请日期。 | datetime | 35 | M |
7 | sign_date | 提货单签发日期 | 提货单的签发日期。 | datetime | 35 | M |
8 | port | 港口编码 | 唯一标识港口名称的编码,遵循UN/CEFACT建议书16号《 Codes for ports and other locations》。 | string | 100 | M |
9 | ship_id | 船舶规范业务协同码 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
10 | vyg_no | 航次 | 船舶航行的班次编号。 | string | 10 | M |
11 | cargo_agent | 货代编码 | 货代的区块链用户唯一编码。 | string | 100 | M |
12 | ship_agent | 船代编码 | 船代的区块链用户唯一编码。 | string | 100 | M |
13 | bonded | 保税标志 | 是否保税,1—保税;0—非保税。 | string | 1 | M |
表 11 提货单信息字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | bl_id | 提单编号 | 提单信息上链的业务协同码。 | string | 100 | M |
2 | ship_id | 船舶规范业务协同码 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
3 | vyg_no | 航次 | 船舶航行的班次编号。 | string | 10 | M |
4 | bl_no | 提单号 | 提单的号码。 | string | 35 | M |
5 | exchange_org | 放货单位统一社会信用代码 | 放货单位的统一社会信用代码。 | string | 18 | M |
6 | exchange_time | 放货时间 | 放货的时间。 | datetime | 35 | M |
7 | cargo_name | 货物名称 | 货物名称,遵循BULK CARGO SHIPPING NAME ( BCSN)定义。 | string | 不定 | M |
8 | packages_quantity | 件数 | 货物的件数信息。 | number | 15 | M |
9 | gross_weight | 重量 | 货物的重量值。 | number | number(8,3) | M |
10 | req_org | 换单代理社会统一代码 | 提货代理或提货人的区块链用户唯一编码,提货人信息应与换单申请中的申请人信息一致。 | string | 18 | O |
11 | status | 提货单状态 | 提货单签发过程状态标识,1—草本;2—承运人确认;3—生效。 | string | 1 | M |
(六)混矿作业信息。
包括混矿作业申请信息和混矿动态信息。混矿作业申请数据结构见图8,混矿作业申请字段及要求见表12。混矿动态信息数据结构见图9,混矿动态信息字段及要求见表13。
图 8 混矿作业申请信息数据结构
表 12 混矿作业申请信息字段要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | Blend_ap | 混矿申请 | 0 | 混矿申请 | string | 不定 | |
2 | cargo_no | 货物批次号 | 1 | 混矿作业生产后新的批次号。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
3 | cargo_type | 货品 | 1 | 混矿后的货物品类,收货人指定 | string | 100 | M |
4 | consignee_id | 收货人编码 | 1 | 收货人的区块链用户唯一编码。 | string | 100 | M |
5 | cargo_agent | 货代编码 | 1 | 货代的区块链用户唯一编码。string | string | 100 | M |
6 | application_date | 申请日期 | 1 | 混矿申请日期 | string | 35 | M |
7 | raw_material_info | 原料信息 | 1 | 由多组混矿原料信息组成 | string | 不定 | M |
8 | ship_id | 船舶规范业务协同码 | 2 | 船舶规范信息的唯一标识编码。 | string | 100 | M |
9 | raw_material_no | 原料批次号 | 2 | 混矿作业所需原料的批次号 | string | 100 | M |
10 | bl_id | 提单编号 | 2 | 提单信息上链的业务协同码。 | string | 100 | M |
11 | raw_material_type | 原料货品 | 2 | 混矿作业原料货品,收货人指定 | string | 100 | M |
12 | raw_material_quantity | 原料货量 | 2 | 原料货物的重量信息。 | number | number(8,3) | M |
图 9 混矿动态信息数据结构
表 13 混矿动态信息字段要求
序号 | 英文名称 | 中文名称 | 层次 | 要求 | 类型 | 长度 | 必选 |
1 | blend | 混矿动态 | 0 | 混矿动态 | string | 不定 | |
2 | cargo_no | 货物批次号 | 1 | 混矿作业生产后新的货物批次号。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
3 | port | 港口编码 | 1 | 唯一标识港口名称的编码,遵循UN/CEFACT建议书16号《 Codes for ports and other locations》。 | string | 10 | M |
4 | begin_date | 开始时间 | 1 | 工班开始混矿日期。 | datetime | 35 | M |
5 | end_date | 结束时间 | 1 | 工班混矿结束时间。 | datetime | 35 | M |
6 | quantity | 货物重量 | 1 | 混矿的货物重量信息,单位MT。 | number | number(8,3) | M |
7 | stock_pile | 堆存信息 | 1 | 混矿货物堆存信息,多个堆位号间用逗号分隔。 | string | 100 | O |
8 | status | 混矿状态
|
1 | 混矿状态标识
1—未开始 |
string | M | |
9 | raw_material_info | 原料信息 | 1 | 用于混矿的原料货物信息,可以是多条。 | string | 4000 | M |
10 | raw_material_no | 原料批次号 | 2 | 原料货物的批次号。格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。 | string | 100 | M |
11 | raw_material_quantity | 原料货量 | 2 | 原料货物的重量信息。 | number | number(8,3) | M |
(七)海关放行信息。
海关放行信息字段及要求见表14。
表 14 海关放行信息字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | vessel_cd | 船舶编码 | 船舶IMO编号 | string | 9 | M |
2 | vessel_nm | 英文船名 | 使用英文或汉语拼音表述的船舶名称。 | string | 100 | M |
3 | vyg_no | 航次 | 船舶航行的班次编号。 | string | 10 | M |
4 | bl_no | 提单号 | 提单的号码。 | string | 35 | M |
5 | op_type | 海关放行信息类型 | 海关放行信息类型的标识,
0—未放行;1—放行。 |
string | 1 | M |
6 | op_date | 海关放行信息时间 | 海关放行信息时间。 | datetime | 35 | M |
(八)提货权转移信息。
提货权转移信息字段及要求见表15。
表 15 提货权转移信息字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | consignee_id | 收货人编码 | 收货人的区块链用户唯一编码。 | string | 100 | M |
2 | cargo_agent | 货代编码 | 货代的区块链用户唯一编码。 | string | 100 | M |
3 | consignee_cd | 提货人编码 | 提货人的区块链用户唯一编码。 | string | 100 | M |
4 | bl_id | 提单编号 | 提单信息上链的业务协同码。 | string | 100 | M |
5 | cargo_no | 货物批次号 | 放货货物的批次号,格式为“cgno+货物批次”,货物编码规则为“8位年月日+0000+8位随机编码”。多个cargo_ no间以“,”分割。 | string | 100 | M |
6 | start_time | 提货开始时间 | 预计提货的开始时间。 | datetime | 35 | M |
7 | end_time | 提货结束时间 | 预计提货的结束时间。 | datetime | 35 | M |
8 | quantity | 货物重量 | 放货量,单位MT。 | number | number(8,3) | M |
9 | bonded | 保税标志 | 是否保税,1—保税;0—非保税。 | string | 1 | M |
10 | pre_retrieval _id | 上一级提货权转移信息 | 上一级提货权转移信息的tx_id。有上一级提货权转移信息时必选。 | string | 100 | C |
(九)预约提货信息。
预约提货字段及要求见表16,预约回执字段及要求见表17。
表 16 预约提货字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | retrieval_id | 提货权转移信息业务协同码 | 提货权转移信息的唯一标识编码。 | string | 100 | M |
2 | transport_type | 运输方式 | 运输方式代码如下:
0:非保税区; 1:监管仓库; 2:水路运输; 3:铁路运输; 4:公路运输; 5:航空运输; 6:邮件运输; 7:保税区; 8:保税仓库; 9:其他运输; A:全部运输方式; H:边境特殊海关作业区; W:物流中心; X:物流园区; Y:保税港区; Z:出口加工区。 |
string | 1 | M |
3 | destination_location | 目的地 | 运输方式为公路运输时提供流向;
运输方式为水路时提供目的地港编码; 运输方式为铁路时提供到站; |
string | 100 | M |
4 | consignor_id | 发货人编码 | 起运港或始发站发货人的区块链用户唯一编码,运输方式为水路或铁路时必选。 | string | 100 | C |
5 | consignee_id | 收货人编码 | 到达港或到站收货人的区块链用户唯一编码,运输方式为水路或铁路时必选。 | string | 100 | C |
6 | retrieval_time | 出港日期 | 出港的日期信息。 | datetime | 35 | M |
7 | transport_no | 运输工具编号 | 运输工具编号,即车牌号、火车车皮号或船舶编码。 | string | 100 | M |
8 | quantity | 货物重量 | 货物的重量信息,单位MT。 | number | number(8,3) | M |
表 17 预约回执字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | order_id | 预约提货业务协同码 | 预约提货的唯一标识编码。 | string | 100 | M |
7 | order_ack | 回执时间 | 回执发送时间。 | datetime | 35 | M |
ack_status | 回执结果 | 回执结果:
0:拒绝; 1:接受。 |
string | 1 | M | |
8 | ack_content | 回执内容 | 回执结果为0时必填 | string | 不定 | C |
(十)提货离场信息。
提货离场字段及要求见表18。
表 18 提货离场字段要求
序号 | 英文名称 | 中文名称 | 要求 | 类型 | 长度 | 必选 |
1 | order_id | 预约提货业务协同码 | 预约提货的唯一标识编码。 | string | 100 | M |
2 | delivery_goods_id | 提货离场业务协同码 | 上一次提货离场动态信息的tx_id。有上一次提货权转移信息时必选。 | string | 100 | C |
3 | working_type | 业务类型 | 业务类型的标识,1—进港;
2—出港。 |
string | 1 | M |
4 | transport_type | 运输方式 | 运输方式代码如下:
0:非保税区; 1:监管仓库; 2:水路运输; 3:铁路运输; 4:公路运输; 5:航空运输; 6:邮件运输; 7:保税区; 8:保税仓库; 9:其他运输; A:全部运输方式; H:边境特殊海关作业区; W:物流中心; X:物流园区; Y:保税港区; Z:出口加工区。 |
string | 1 | M |
5 | begin_time | 提货开始时间 | 本次提货开始时间 | datetime | 35 | M |
6 | end_time | 提货结束时间 | 本次提货结束时间 | datetime | 35 | M |
7 | transport_no | 运输工具编号 | 运输工具编号,即车牌号、火车车皮号、船舶编码。 | string | 100 | M |
8 | cargo_weight | 货物重量 | 货物的重量信息。本次货物重量,单位MT。 | number | number(8,3) | M |
9 | status | 提货状态 | 提货状态的标识,1—进行中;2—结束。 | string | 1 | M |