Railway 12306 Internet group meal booking system
-
摘要:
当前,列车团餐服务依托传统的线下渠道进行处理,面临沟通繁琐、旅客体验不佳、数据分散等问题。为提升铁路客运服务水平与旅客满意度,文章分析了铁路列车团餐预订现状,设计了铁路12306互联网团餐预订系统(简称:团餐预订系统),阐述了团餐预订系统的总体架构、技术架构和具体功能。该系统采用了前后端分离、自动识别匹配、合并支付与智能拆单、分布式文件存储等技术,满足了团体旅客出行多样化、便捷化的订餐需求,也为下一步团餐预订系统的开发工作奠定基础。
Abstract:Currently, train group meal services rely on traditional offline channels for processing, faces problems such as cumbersome communication, poor passenger experience, and scattered data. In order to improve the service level of railway passenger transport and passenger satisfaction, this paper analyzed the current situation of group meal reservation on railway trains, designs the railway 12306 Internet group meal booking system (referred to as group meal boking system), and expounded the overall architecture, technical architecture and specific functions of the system. The system adopted technologies such as front-end and back-end separation, automatic recognition and matching, combined payment and intelligent order splitting, distributed file storage, etc., which met the diverse and convenient ordering needs of group travelers and laid the foundation for the development of the next step group meal booking system.
-
近年来,随着铁路信息化、数字化、智能化转型建设的加快,铁路新业态不断催生[1],“互联网+铁路”的商业模式也不断创新[2-3]。铁路12306互联网订餐平台于2017年7月上线运营,自此,互联网订餐服务已经成为铁路旅客运输的基本服务[4]。
团体旅客作为铁路出行人员的重要组成部分,相较于普通散客,其出行具有计划性较强、用餐体量大、需求确定性较高等特点[5]。但铁路企业团餐管理方式较为简单,信息化程度较低[6],无法满足旅客的线上预订需求。目前,国内关于铁路场景下列车团餐预订方面的研究尚少。本文结合铁路团餐的预订现状,设计了铁路12306互联网团餐预订系统(简称:团餐预订系统),阐述了团餐预订系统的总体架构、技术架构和功能等,为团餐预订系统的开发工作奠定基础,为构建更加完善的铁路餐饮服务生态体系提供支撑[7-8]。
1 铁路团餐预订现状
本文调研铁路12306互联网订餐平台及各铁路局集团公司相关餐饮服务公司(简称:商家)的团餐业务现状,现阶段铁路旅客团餐预订基本是通过旅客线下联系进行受理,预订流程如图1所示。旅客来电咨询团餐预订,客服记录需求,将需求转发至列车担当的商家,由商家将旅客需求派发至担当列车的配送人员,再由列车担当日的配送人员通过电话联系旅客再次确认详细的需求,旅客线下向配送人员支付全额餐费,配送人员收款后开始备货,在旅客乘车当日完成餐食配送。
现阶段铁路旅客团餐预订流程存在以下不足。
(1)预订流程繁琐,需反复确认,沟通成本高。铁路旅客团餐预订目前还是通过电话进行预订,旅客需要详细描述自己的需求,商家根据旅客提供的信息将能提供的餐品信息提供给旅客进行选择,旅客无法通过系统查看餐品图片直接选择,双方确认的信息繁杂,需反复确认,沟通成本高。
(2)各商家服务标准不一致,影响用户体验。因各商家提供的餐食品种各有特色、售价不同、服务标准不一。旅客无法准确区分,每次预订时需要重新咨询并确认相关信息,体验感不佳。
(3)数据分散,缺乏对数据的整合和充分利用。因没有统一的团餐预订系统进行全铁路订单数据的收集,不能对既有的订单数据进行整体的挖掘和分析。
2 团餐预订系统架构
2.1 总体架构
团餐预订系统采用微服务架构进行设计,其总体架构如图2所示。展示层和应用层之间通过网关接口进行互联网端的用户访问控制。支撑层通过安全平台向数据层进行数据访问。
2.1.1 数据层
数据层用于存储团餐预订系统产生的各类数据,为支撑层和应用层的各项服务及应用提供数据支撑。存储的数据包括商品数据、支付数据、账户数据、车次数据、缓存数据、订单数据、发票数据、行程数据、优惠数据和数据字典等。
2.1.2 支撑层
支撑层为应用层的各项服务提供技术支撑,包括业务服务、基础框架服务和公共组件服务。其中,业务服务包括商品服务、支付服务、订单服务、发票服务、查询服务等;基础框架服务包括配置中心、注册中心、日志监控、负载均衡、链路追踪及熔断等;公共组件服务包含缓存服务、消息服务和图片服务等。
2.1.3 应用层
应用层基于各类型数据和相关技术服务为系统使用人员提供各类服务,包括商户管理、商品管理、用户管理、订单管理、支付管理、发票管理、优惠管理、报表统计、通知管理、查询服务、对账管理、结算管理等。
2.1.4 展示层
展示层为不同角色的用户提供数据或服务展示界面。主要包括移动终端App、Web终端和微信小程序等。旅客通过移动终端 App、微信小程序查看可预订团餐的商户及餐品,选择餐品添加购物车后,完成支付。商家通过Web端进行商户基础信息设置、餐品信息的管理及订单处理等;运营人员通过Web端查看商户资质及订单数据等;配送人员通过移动终端App查看担当日需要配送的团餐订单,做好服务准备;财务人员通过Web端查看结账等财务相关信息。
2.1.5 外部系统
团餐预订系统通过数据交互接口与其他外部系统进行数据交互,包括客票相关系统、铁路餐饮企业资源计划(ERP,Enterprise Resource Planning)系统、客运出行服务营销系统与铁路餐饮电子发票平台等。
2.2 技术架构
团餐预订系统的技术架构如图3所示。
(1)展示层采用超文本标记语言(HTML)、层叠样式表(CSS)、及Vue开发框架等技术。
(2)应用层采用服务网关(Gateway)、负载均衡(Nginx)、SpringBoot开发框架等技术。
(3)支撑层主要采用消息队列(RabbitMQ)、搜索引擎(ElasticSearch)、注册中心(Nacos)、日志收集(ELK)、配置中心(Nacos)、相关服务调用(OpenFeign)等技术。
(4)数据层主要涉及关系型数据库(PostgreSQL)、分布式文件系统(Ceph)和分布式缓存(Redis)等技术。
3 团餐预订系统功能
团餐预订系统的功能主要包括预订管理、商户管理、配送管理、通知管理、对账结算与运营管理。
3.1 预订管理
预订管理功能包括:查看商户及商品信息、购物车管理、在线下单及支付、订单管理、发票管理和订单评价等。
(1)用户通过预订管理查看商户及商品信息。
(2)购物车管理。用户可选择想要购买的餐品加入购物车,支持在购物车中修改份数。系统可保存购物车的历史添加记录。
(3)在线下单及支付。用户确认餐品及配送时间后,可确认下单进入支付环节。完成支付后,商家即可收到团餐订单消息。
(4)订单管理。用户下单支付后,可实时查看订单状态,也可在截止退单前取消订单。
(5)发票管理。用户在下单时,可填写开票信息,订单完成后,商家按用户要求开具发票。系统支持电子发票、普通纸质发票和定额发票。
(6)订单评价。订单完成后,用户可对本次服务进行评价,评价信息会作为商家综合评价录入系统。
3.2 商户管理
商户管理功能包括:商户设置、餐品维护、订单处理、配货单管理、报表统计、异常处理等。
(1)商户设置。商户可进行商户基础信息的维护,用户可查看商户设置,包括商户头像、营业时间、通知公告、预订规则等。
(2)餐品维护。商户可进行新增餐品、录入餐品信息、提交审核、餐品上/下架和投放等操作。
(3)订单处理。商户可进行团餐订单的查看和接单操作,并通过消息提示音及弹窗提醒等方式确保商户能及时处理团餐订单。
(4)配货单管理。商户可查看并打印配货单。
(5)报表统计。系统可根据商户名称、车次、日期等进行筛选查询,统计订单数据,并支持报表导出。
(6)异常处理。支持商家对异常订单进行处理操作。
3.3 配送管理
配送管理功能主要包括订单的查看、处理和统计。配送人员可通过移动终端App查看需要配送的团餐订单信息;完成配送后确认订单已配送,并标记异常订单情况;根据配送人员担当车次进行订单数据统计。
3.4 通知管理
通知管理功能包括:实现消息的分组群发;支持系统用户间消息的发送与接收;实现系统通知消息的自动弹窗提醒。
3.5 对账结算
对账结算功能包括:实现商户对账单按日期查询和导出功能;按结算周期完成对商户的餐费结算。
3.6 运营管理
运营管理功能包括:账户管理与角色分配,针对不同角色的使用人员,分配不同的页面及其对应的权限;进行商户资质审核和餐品信息审核。
4 关键技术
4.1 前后端分离技术
前后端分离技术是一种Web应用开发架构模式,它将传统的单一应用程序模型分为前端(客户端)和后端(服务器端),这两部分通过应用程序接口(API ,Application Program Interface)进行通信。这种开发模式具有分工明确、解耦合、并行开发、部署灵活、用户体验好、可维护性强和可扩展性强等特点。
团餐预订系统采用前后端分离技术,基于铁路12306互联网订餐平台的整体框架,采用Vue技术搭建前端开发框架,采用SpringBoot技术构建后端开发框架。Vue是一种开源的渐进式JavaScript框架,专注于创建丰富的用户界面和交互体验,易于学习与集成到既有项目中,同时,也能够为复杂的单页应用程序提供强大的功能。Spring Boot作为强大的后端服务,用于处理数据和业务逻辑,具有简化配置、快速搭建、内嵌容器、自动化集成、生产就绪、测试友好等特性。
4.2 商户自动识别匹配技术
车次链是铁路运输领域中经常用到的概念,主要是指将不同的列车车次按照其运行计划有序地组织起来,形成一个连贯的、协调的运行序列。商户按照车次链担当列车提供餐饮服务。同时,在列车运行过程中,不同时刻列车的担当车次不同,不同车次的情况下担当商家投放的商品存在差异。这就要求本系统在用户预订团餐时,结合用户的行程信息与车次链信息对担当商家的商品信息进行自动识别和匹配,避免出现无法订餐的情况或线上完成订餐线下无法提供服务等异常情况。
前端获取用户的行程信息(包含车次及乘车日期),通过接口将数据发送至后端,后端根据行程信息识别对应的始发车次和始发日期,并根据始发车次、日期及商户销售范围匹配对应的商户,再查询该商户下全部有效的商品投放信息,识别并完成有效性校验后,将结果返回前端展示给用户,如图4所示。
4.3 合并支付与智能拆单技术
合并支付技术主要实现团餐旅客下单时,一次选购多个时间段(如早餐、中餐和晚餐)餐品的情况下,能够一次性完成所有的支付需求,避免了旅客在结算时针对每餐进行单独的支付操作,简化流程、提升支付效率。
智能拆单技术是为了应对团餐订单后续处理中的复杂性,特别是列车配送时间选择、旅客部分退单等情况。本系统根据旅客购买的餐品、配送时间等因素将原订单拆分为多个子订单,每个子订单对应独立的配送、结算及售后流程。智能拆单技术不仅能优化配送成本和时效,还能确保订单的准确执行。
4.4 分布式文件存储
分布式文件存储技术将独立的存储节点通过网络连接起来,共同协作,形成一个统一的、可扩展的存储系统,其具有高可扩展性、容错性、负载均衡,以及良好的成本效益。Ceph是一个开源的分布式存储系统,用于提供高度可扩展的对象存储、块存储和文件存储。
团餐预订系统中涉及到大量的餐品图片、商户相关资质图片和标签图片等文件资源,这些图片形式的数据具有尺寸小、数量大、并发读取频率高等特点,采用Ceph分布式存储系统进行文件的管理和存储,能更好地实现文件存储的可靠性和容错性。
5 结束语
本文调研了铁路团餐预订服务的现状,分析了当前团餐预订服务存在的问题,设计了铁路12306互联网团餐预订系统,阐述了该系统的总体架构、技术架构及功能,满足了团体旅客出行线上订餐的需求,解决了列车团餐服务标准不一、数据无法充分利用的问题。下一步,团餐预订系统将通过数据同步、接口对接、技术迭代等方式与铁路12306互联网订餐平台实现互联互通,为进一步构建更加完善的铁路互联网餐饮生态体系提供支撑。
-
[1] 马建军,朱建生,沈海燕,等. 铁路信息化、数字化、智能化关系演化模型及评估方法[J]. 铁道科学与工程学报,2023,20(3):824-835. [2] 马 丹. 铁路信息化历程与“互联网+铁路”创新发展探讨——新中国成立70年来铁路信息化建设回顾与展望[J]. 理论学习与探索,2019(4):32-35. [3] 单杏花,王富章,李 锋,等. 铁路“互联网+”旅客服务的研究与设计[J]. 铁路计算机应用,2015,24(11):5-8. [4] 王瑞民,朱建军,费汉明. 铁路12306互联网订餐平台设计与实现[J]. 铁路计算机应用,2019,28(4):64-67. [5] 夏子贻. 铁路团体旅客收益管理研究[D]. 北京:中国铁道科学研究院,2023. [6] 郑利安. 铁路团餐供应链业务流程设计与信息一体化联盟研究[D]. 长春:吉林大学,2014. [7] 伍业君,李朝飞. 中国铁路数字化转型思考[J]. 综合运输,2021,43(6):66-70. [8] 谭 雪,王 斌,朱建军,等. 智能动车组自动售货机软件系统设计[J]. 铁道运输与经济,2024,46(1):59-66.