企业 POS 自助

Odoo 企业版 POS 自助点餐为什么不是“只要开 kiosk 就能刷卡”:kitchen printer 选择、IoT box 能力与 self payment method 校验讲透

pos_self_order_iot 在 kiosk 模式下要同时确认 kitchen printer、IoT box 是否能当 kiosk,以及 payment method 是否具备自助支付能力;少一层都不该放行。

POS 企业
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 4 阅读

“开了 kiosk”并不等于“顾客现在就能刷卡”。企业版把 kiosk 自助能力拆成三层校验:厨房打印路由是否带设备标识、IoT box 是否具备 kiosk 运行能力、POS 是否至少有一种合法 self payment method。

主要参考源码:

  • enterprise/pos_self_order_iot/models/pos_config.py
  • enterprise/pos_self_order_iot/models/iot_box.py

一、厨房打印链先决定自助单能不能落地

_get_kitchen_printer() 不只是列打印机,还把 device_identifier 带给前端。对 kiosk 来说,这意味着顾客下单后,厨房打印路由能不能找到正确设备,属于下单链本身的一部分,而不是后续运维问题。

二、不是所有 IoT box 都能当 kiosk

_compute_can_be_kiosk() 会看盒子上的设备类型和版本。源码明确要求 display、keyboard 等能力满足条件,旧镜像还涉及屏幕旋转支持。这条规则告诉你:盒子在线不代表它适合作为 kiosk 运行环境。

三、支付方式还要再次过闸

has_valid_self_payment_method() 在 mobile 模式和 kiosk 模式上的判断不同。kiosk 下即使一般自助支付能力不足,只要存在挂了 iot_device_id 的 payment method,也可以放行。也就是说,支付闸门看的是“当前 kiosk 能否真实调起终端”,不是简单看支付方式是否存在。

四、真正的跨模块链路

  • POS 自助配置;
  • IoT box 物理能力;
  • 厨房打印设备路由;
  • 自助支付方式集合。

这四者共同决定顾客在 kiosk 上看到的是“可点单并能支付”,还是“只能浏览/下单后无法完成收款”。

五、结论

kiosk 模式不是一个开关,而是一组能力裁剪。只有打印路由可达、盒子能力合格、支付方式可自助使用三件事同时成立,自助收银才应该对顾客开放。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。