通用云POS结账相关指令
更新日志:
20160820 增加充值、退卡指令
20160826 增加开卡指令
20161111 增加读卡密码
20201229 增加券查询、券核销
1.点菜
触发指令方式:下单时,触发DC指令【ipad -1表示原价,并不是赠送,赠送是用符号来判断的加价是9】。。
请求格式:
类型码(4位)、空位(1位)、点菜机机号(4位)
台号/账单号 (7位)、空位(1位)、出厂号(7位)、空位(4位)、快餐牌号(14位),人数(4)、流水号(8位)
台号 (7位)、空位(1位)、菜品号(5位)、空位(1位)、数量(5位)、作法(13位)、套餐明细标记(3位)、等叫标记(1位) 、空位(1位)、发送流水号(8位)、空位(1位)、单价(9位)、单位(8位)、加价(6位)、条只数(3位)、做法扩展(50位)、空(1位)、套餐分组(2位)、空(1位)、自定义加价(6位)
示例1:

示例2:
单价-1表示没有变价
加价用于点菜时的自定义加价
发送流水号按时间格式, 但并非实际时间,用于后台软件在接口网络通讯异常时的重发判断。
套餐标志,2位编号, 表示这个菜品属于哪个套餐。
套餐头在这个位置也会标注:固定标记‘S’,或者自定义变价标记‘X’,自定义固定价‘M’
如下:
----- T1.txt --------
DC 0007
1001 gp6H4f 10:00:09
1001 10001 1.000 X 0 10:00:09 500 套
1001 11021 1.000 01 0 10:00:09 -1 例
1001 11028 1.000 01 0 10:00:09 -1 例
1001 11040 1.000 01 0 10:00:09 -1 例
1001 11031 1.000 01 0 10:00:09 -1 位
临时菜品:临时菜的品名也在做法(13位),并以”,”号分隔; 例如: “空心菜,蒜蓉”;
做法扩展(40位):当做法口味选择,加上自定义要求输入的比较多,总共超过13位时;则启用这个40位的做法扩展字段;原13位字段可以忽略
返回格式: 类型码(4位)、点菜机机号(4位)
返回内容:“点菜成功!”
信息提示
示例:
DC 101
点菜成功!
失败示例:
DC 101
某菜品已沽清,下单失败。
注意:条只数需要在WX设置中启用“下单新协议”
2.账单查询 (增加:账单号、应收金额、备注信息)
请求格式:
类型码(4位)、空位(1位)、点菜机机号(4位)
台号(7位) 、空位(1位)、出厂号(7位)、空位(2位)、快餐牌号(14位)
-------- T1.txt -----------
ZDCX 101
1001 fde1b0e
返回格式:
类型码(4位)、空位(1位)、点菜机机号(4位)
账单号XXXXXXXXXXXX,人数XX,合计XX.XX, 应收XX.XX,备注XXXXXXXXXXX
菜品名称(20位)数量(4位)单位(4位)状态(4位)单价(9位)点菜员(10)时间(8)客户要求(40)流水号(8)折扣(4位)
菜品状态位:
全角字符“⊙”表示已下单(必须)
后面可以跟随以下半角(ansi)符号: “!” 等叫状态, “$” 赠菜状态 , “#” 退菜状态, “!!”表示 急, “%”表示这个菜是套餐明细
|
标志 |
意义 |
|
! |
等叫 |
|
$ |
赠菜 |
|
# |
退菜 |
|
!! |
急 |
|
% |
套餐明细 |
|
* |
已完成 |
|
^ |
未下单 |
& 已结账
(注意:退单菜品单价不要负值)
数量或单位中有“约”字,表示这个菜品可以修改数量,平板上点击数量位置就可以直接修改。参见“ZLQR”

流水号:
当一个账单有多个同样菜品,流水号可以让程序鉴别出你需要操作的单个菜品。当ZDCX返回给平板程序流水号的时候,退菜协议、赠菜协议、催菜协议都将使用流水号代替菜品编号,这样就能让后台软件知道客户需要操作的是那个菜品。如上列表:2个夫妻肺片的流水号分别是 8720 和 8721。
注1、空台的返回格式:(未开台的状态返回)
注意:如果返回“桌台是空台!”电子菜谱执行开台操作
--------R1.txt-----------
ZDCX 101
桌台是空台!
注2、已开台,但未点单的桌台返回如下:
--------R1.txt-----------
ZDCX 101
账单号2015123002066 人数2共0道菜,合计0.00 , 应收0.00 备注
3.终端打折(ZDZ)
服务员在手持机上设定桌台折扣
请求格式:
类型码(4位)、空位(1位)、点菜机机号(4位)
台号 (7位)、空位(1位)、折扣编号(6位)、优免抹零金额(6位)、折扣率(4位)、保留(8位),台卡号(14 位)
-------- T1.txt -----------

返回内容:“折扣成功”,并返回显示内容
--------R1.txt-----------
ZDZ 101
1001桌折扣成功!
A品项合计: 2372.00
B折扣金额: 14.00
------------------
应收余额(A-B): 2358.00
------------------
4.下单支付DCJZ
(POS机结账不再使用这个指令,目前只用于自助平板)
格式:
类型码(4位)、空一位、点菜机机号(4位)
台号/账单号 (8位)、出厂号(7位)、实收现金(7位)、空位(1位)、实付金额(7位)、空位(3位)、人数(4)、流水号(8位)、空位(1位)、支付方式(8位)、支付方(30)、支付单号(30位)、线上折扣金额(9位)
台号 (7位)、空位(1位)、菜品号(5位)、空位(1位)、数量(5位)、作法(13位)、套餐明细标记(3位)、等叫标记(1位) 、空位(1位)、发送流水号(8位)、空位(1位)、单价(9位)、单位(8位)、加价(6位)、条只数(3位)、做法扩展(40位)
示例:

返回格式:
类型码(4 位)、空位(1位)、点菜机机号(4 位)
提示信息(100位)
账单号(100位)
打印内容(可以多行)
示例:
----- R1.txt --------
DCJZ 0011
结账成功!
账单号:102552
Xxxx酒店 电话:xxxx
(POS机结账不再使用这个指令,目前只用于自助平板)
账单号:
要有全角冒号
5. 付款方式.txt
格式:编号(5位) 付款方式(20位) 付款代码(10位) 启用标记(2位)
示例:
02 现金支付 Cash 1
32 扫码支付 GPSM 1
33 拉卡拉扫码 LKLSM 1
34 拉卡拉刷卡 LKL 1
35 盒子支付 IBOX 1
36 银商支付 YLSW 1
06 会员卡支付 HYK 1
30 消费券 WXQ 1
注意:上表中的付款代码在手持POS上起到功能标识作用,用于启动指定的付款流程。
6.结账支付 ZFJZ
格式:
类型码(4位)、空位(1位)、点菜机机号(3位)
台号/账单号 (8位)、出厂号(7位)、空位(1位)、实收金额(7位)、实付金额(9位)、空位(5位)、流水号(8位)、空位(1位)、快餐牌号(14位)、座位号(6位)
支付方式(9位)、支付金额(9)、支付账号(30位)、支付单号(30位)、线上折扣(9位)
结账菜品标志(2位)、空位(1位)、结账菜品流水号(8位)、空位(1位)、数量(5位)、作法(13位)、空位(1位)、单价(9位)、单位(8位)
结账菜品可多行,结账菜品流水号对应ZDCX返回的菜品流水号。
支付方式可多行,对应的字段含义见表:
|
支付方式 |
金额 |
账号 |
单号 |
折扣 |
|
Cash |
|
|
输入总金额 |
|
|
WeiXin |
|
微信ID |
微信单号 |
|
|
AliPay |
|
支付宝账号 |
支付宝单号 |
线上折扣 |
|
UnionCard |
|
银行卡号 |
终端号,凭证号 |
|
|
Coupon |
|
券号 |
券类型 |
|
|
ActCard(定制) |
|
卡号xxx |
|
|
(实体IC卡扣款需要定制)
----- T1.txt --------
ZFJZ 028
001 a899ca5 66.02 31:00:00
Cash 6.00
WeiXin 0.02 oaLNhs5pleFb1U355MzkMr-awHkM 4006692001201603314420905704
coupon 20.0 30633599768 0
coupon 20.0 30633599778 0
coupon 20.0 30633599798 0
后台返回:结账单信息。
----- R1.txt --------
ZFJZ 0003
结账成功!
结账单
+++++++++++++
总计:xxxxx 支付流水号:xxxxxxx
+++++++++++++
7.储值卡实体卡读卡ZTDK(获取卡信息)
格式:类型码(4位)、空一位、点菜机机号(4位)
台号/账单号 (8位)、实体卡卡号(20位)、出厂号(7 位)
读卡密码(12位)
2016-04-05: 卡号调整为20位
示例:
----- T1.txt --------
ZTDK 0011
0106 00012345 g5580Po
123456
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
自助流程(1位)、空位(1位)、错误提示文本(50位)
台号/账单号 (8位)、合计(9位)、折扣(9位)、实收金额(9位)
卡号(20位)、卡余额(9位)、卡类型(10位)、持卡人(20位)、卡状态(10位)、卡积分(9位)
|
流程 标志 |
解释 |
|
0 |
默认,查询桌台并开始点菜 |
|
1 |
平板上显示错误提示文本,并返回主界面; |
|
4 |
平板查询桌台并开始点菜 |
|
5 |
平板要求输入人数、客户手机号码后,发开台指令 |
|
6 |
平板要求输入人数,发开台指令 |
|
|
|
|
|
|
此标志位只在平板自助版本起作用, POS机读卡次标志位不起作用
|
卡状态 |
解释 |
|
1已发卡 |
显示会员信息 充值 退卡 |
|
2已制卡 |
(卡已初始化)输入会员姓名 手机等执行发卡操作 |
|
3未制卡 |
提示未制卡(空卡) |
|
4卡不存在 |
提示卡不存在 |
|
|
|
|
|
|
卡状态只在POS机会员功能内起作用
读卡返回示例1:
----- R1.txt --------

读卡返回示例:
----- R1.txt --------

读卡错误返回示例:
----- R1.txt --------
ZTDK 0011
1 读卡失败:卡号[0123456]不存在
8. 储值卡实体卡充值HYCZ(会员充值)
格式:类型码(4位)、空(1位)、点菜机机号(4位)
台号/账单号 (8位)、实体卡卡号(20位)、充值金额(9位)、出厂号(7 位),
支付方式(9位)、支付金额(9)、支付账号(30位)、支付单号(30位)
示例:
----- T1.txt --------
HYCZ 0011
0106 00012345 500.00 pos5580Po
Cash 500.00
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
卡号(20位)、实际充值(9位)、卡余额(9位)、卡类型(10位)、持卡人(20位)
备注(200位)
充卡示例:
----- R1.txt --------
HYCZ 0011
00012345 500.00 1500.00 钻石卡 张三
充卡成功,有效期致2018年12月
注:备注在pos机上会打印出来,可以返回个充卡单格式输出到打印机
9. 储值卡实体卡退卡HYTK(会员退卡)
格式:类型码(4位)、空(1位)、点菜机机号(4位)
台号/账单号 (8位)、实体卡卡号(20位)、出厂号(7 位)
示例:
----- T1.txt --------
HYTK 0011
0106 00012345 pos5580Po
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
卡号(20位)、退款金额(9位)、卡类型(10位)、持卡人(20位)
备注(200位)
退卡卡示例:
----- R1.txt --------
HYTK 0011
00012345 1500.00 钻石卡 张三
退卡成功!
注:备注在pos机上会打印出来,可以返回个退卡单格式输出到打印机
10. 会员卡类型表.txt
格式:会员卡类型编号(10位) 会员卡类型名称(20位)

11. 储值卡实体卡开卡HYKK(会员开卡)
格式:类型码(4位)、空1位、点菜机机号(3 位)
实体卡卡号(20位)、卡类型编号(10位)、保留 (8位)、出厂号(7 位)
持卡人(20位)、性别(4位)、电话(15位)、身份证号(22位)、出生日期(11位)
示例:
----- T1.txt --------
HYKK 0011
00012345 00010088 pos5580Po
张三 男 139012345678
返回格式:类型码(4 位)、空位(1位)、点菜机机号(3 位)
卡号(20位)、余额(9位)、卡类型(10位)、持卡人(20位)
提示信息(200位)
开卡返回示例:
----- R1.txt --------
HYKK 0011
00012345 0.00 钻石卡 张三
开卡成功!
----- R1.txt --------
HYKK 0011
开卡失败,卡号已存在!
12.储值卡实体卡扣款HYJZ(会员扣款)
格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
台号/账单号 (8位)、实体卡卡号(20位)、扣款金额(9位)、出厂号(7 位)、空位(1位)、时间戳(17位)
示例:
----- T1.txt --------
HYJZ 013
101 0005524210 0.01 zz676cV 20170414115016160
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
卡号(20位)、扣款(9位)、卡余额(9位)、卡类型(10位)、持卡人(20位)
备注(200位)
充卡示例:
----- R1.txt --------
HYJZ 001
12345 500.00 1000.00 钻石卡 张三
扣款成功,有效期致2018年12月
13.外接被扫支付BSZF(在软件后端实现被扫扣款)
格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
支付方式(2位)、台号(8位)、出厂号(7 位) 、支付金额(9位)
付款码(18位)
示例:
----- T1.txt --------
BSZF 0011
0 101 pos5580 0.01
282188178249029834
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
支付状态(1位)、内容(20位)
返回示例:
----- R1.txt --------
BSZF 00111 支付成功!
失败示例:
----- R1.txt --------
BSZF 0011
0 支付失败,付款码错误...!
14.SMZF 扫码支付(获取二维码)
格式:
支付方式(1位,2表示微信支付,3表示支付宝)、空1、(台号8位)、(出厂号7位)、(支付金额9位)、快餐牌号(12位)
返回:
成功标志(1位)、支付单号(7位)、需支付金额(8位)、二维码链接(250位)
15.SMCX 扫码查询(检查客人是否扫描二维码成功支付)
格式:
支付方式(1位,2表示微信支付,3表示支付宝)、空1、(台号8位)、(出厂号7位)、快餐牌号(12位)
返回:
SMCX 001
支付成功
或者返回:
SMCX 001
等待客人支付
16. QCX - 消费券查询
格式:类型码(4位)、空(1位)、点菜机机号(4位)
台号/账单号 (8位)、券号(32位)
示例:
----- T1.txt --------
QCX 0011
0106 70173761786514200012345
返回格式(券数据用TAB键分隔 - ASCII码 #9):
类型码(4 位)、空位(1位)、点菜机机号(3 位)
券号(TAB)券名称(TAB)抵用金额(TAB)有效期(TAB)领用日期(TAB)门店
示例:
----- R1.txt --------
QCX 001
12345567890 代金券 30 2021-06-01 2020-10-01 1店,2店,3店
17. QHX - 消费券核销
格式:类型码(4位)、空(1位)、点菜机机号(4位)
台号/账单号 (8位)、券号(32位)
示例:
----- T1.txt --------
QHX 0011
0106 70173761786514200012345
返回格式:
类型码(4 位)、空位(1位)、点菜机机号(3 位)
核销信息
抵用金额
示例:
----- R1.txt --------
QHX 001
核销成功
30