Message processing apparatus, message processing method, and message processing program
The message processing device facilitates the integration of new terminal devices with different message formats into existing systems by converting messages into a general-purpose format, ensuring seamless operation without system disruptions.
Patent Information
- Application Number
- JP2023204848
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-04
- Publication Date
- 2025-06-16
AI Technical Summary
Existing systems face challenges in seamlessly integrating new terminal devices that transmit and receive messages in formats different from existing devices without disrupting the existing system.
A message processing device with a terminal device interface unit, an order processing device interface unit, an event workflow database, and a message generation unit, which enables connection to multiple terminal devices via different APIs, converts messages into a general-purpose format, and generates messages compatible with existing systems.
Enables the addition and connection of new terminal devices at any time without stopping the existing system, providing a flexible and efficient way to manage diverse message formats and workflows.
Smart Images

Figure 2025089890000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a message processing apparatus, a message processing method, and a message processing program.
Background Art
[0002] For example, in a restaurant, when a customer places an order for food without going through an employee on a dedicated terminal device, food and drinks are ordered according to this operation, the order details are notified to the kitchen, and furthermore, a system is known in which payment for food and drinks can be made. For example, Patent Document 1 discloses an example of such a system. Such a system may be called a Self Ordering System.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Note that the disclosures of the above prior art documents are incorporated herein by reference. The following analysis is made by the present inventors.
[0005] Here, in order for users to receive services such as reservations provided by various companies, it may be necessary to newly add and connect a terminal device that transmits and receives messages in a format different from that of existing terminal devices to an existing system. In such a case, it is desirable to be able to connect a new terminal device to the system at an arbitrary timing without stopping the existing system.
[0006] An object of the present disclosure is to contribute to enabling a new terminal device that can transmit and receive messages in a format different from that of existing terminal devices to be added and connected to this system at any timing without stopping the existing system, and to provide a message processing device, a message processing method, and a message processing program.
Means for Solving the Problems
[0007] In a first aspect of the present disclosure, there is provided a message processing device including a terminal device interface unit, an order processing device interface unit, an event workflow database, and a message generation unit. The terminal device interface unit is configured to be connected to a plurality of terminal devices via a first API provided by each of the plurality of terminal devices. The order processing device interface unit is configured to be connected to a self-ordering system via a mobile order interface by a second API different from the first API. The event workflow database is configured to store by associating each of a plurality of events with each of a plurality of workflows. The message generation unit is configured to receive a message of an event of the first API and generate a message corresponding to the second API.
[0008] In a second aspect of the present disclosure, there is provided a self-ordering system including the message processing device according to claim 1 and an order processing device. The order processing device is configured to receive a message of an event corresponding to the output second API and execute processing of the event.
[0009] In a third aspect of the present disclosure, there is provided a message processing method including a storage step, a reception step, a message conversion step, a workflow selection step, a message abstraction step, a message generation step, and a message output step. The storage step stores, in an event workflow database, by associating each of a plurality of events with each of a plurality of workflows. The reception step receives, from each of a plurality of terminal devices, messages of each of the plurality of events, using a first API that is different for each of the plurality of terminal devices. The message conversion step converts the received messages of each of the plurality of events into a general-purpose format independent of the plurality of terminal devices. The workflow selection step selects, from the event workflow database, any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format. The message abstraction step abstracts the messages of the events corresponding to the selected workflow by converting them into a format that may include all of the messages of the plurality of events. The message generation step executes the selected workflow with the abstracted messages of the events and generates a message corresponding to a second API. The message output step outputs the generated message corresponding to the second API.
[0010] In a fourth aspect of the present disclosure, there is provided a message processing program including a storage process, a reception process, a message conversion process, a workflow selection process, a message abstraction process, a message generation process, and a message output process. The storage process stores in an event-workflow database by associating each of a plurality of events with each of a plurality of workflows. The reception process receives messages of each of the plurality of events from each of a plurality of terminal devices using a first API different for each of the plurality of terminal devices. The message conversion process converts the messages of each of the received plurality of events into a general-purpose format independent of the plurality of terminal devices. The workflow selection process selects any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format from the event-workflow database. The message abstraction process abstracts the message of the event corresponding to the selected workflow by converting it into a format that may include all of the messages of the plurality of events. The message generation process executes the selected workflow with the abstracted message of the event and generates a message corresponding to a second API. The message output process outputs the generated message corresponding to the second API. Note that this program can be recorded on a computer-readable storage medium. This storage medium can be a non-transient storage medium such as a semiconductor memory, a hard disk, a magnetic recording medium, and an optical recording medium. That is, the present disclosure can also be embodied as a computer program product.
Effects of the Invention
[0011] According to each aspect of the present disclosure, it can contribute to adding and connecting to this system a new terminal device that transmits and receives messages in a format different from that of existing terminal devices at an arbitrary timing without stopping the existing system.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 3C
Figure 3D
Figure 4A
Figure 4B
Figure 5A
Figure 5B
Figure 6
Figure 7
Figure 8
[0013] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. However, the present disclosure is not limited to the embodiments described below. In each drawing, the same or corresponding elements are appropriately assigned the same reference numerals. Furthermore, it should be noted that the drawings are schematic, and the dimensional relationships and ratios of the elements may differ from reality. There may also be portions where the dimensional relationships and ratios differ between the drawings.
[0014] FIG. 1 is a diagram illustrating the configuration of a self-ordering system 20. As shown in FIG. 1, the self-ordering system 20 is connected to a mobile order service 10. Note that a plurality of companies may each operate a mobile order service 10 such as a reservation for a restaurant, and in such a case, the self-ordering system 20 may be connected to a plurality of mobile order services 10.
[0015] The mobile order service 10 and the self-ordering system 20 are connected via a wired communication line, a wireless communication line, or a combination thereof, such as the Internet. In the following description, a case where the self-ordering system 20 is used in a restaurant that provides food and beverages to customers is taken as a specific example. However, the self-ordering system 20 can be used for various purposes in various enterprises such as service industries, manufacturing industries, and agriculture, such as retail stores, by making appropriate modifications. That is, the self-ordering system 20 can be used to provide various services to users of these enterprises.
[0016] First, an example of the components of the self-ordering system 20 will be described. The mobile order service 10 provides services such as restaurant introductions, evaluations, reservations, and payment of bills to restaurant customers via the Web on the Internet. Specifically, for example, the mobile order service 10 is operated by a company that provides services related to the above-mentioned restaurants, such as "dinii (a trademark of dinii Co., Ltd.)" or "Gurunavi (registered trademark)". However, the companies exemplified here are merely examples, and the mobile order service 10 can be operated by other companies.
[0017] The self-ordering system 20 includes a mobile order interface (mobile order IF; InterFace) device 200 that connects between the mobile order service 10 and the order processing device 202, an order processing device 202, a kitchen printer device 204, a POS (Pont Of Sales) device 206, a handy terminal device 208, a self-order terminal device 210, a mobile terminal device A 300, and a mobile terminal device B 302. These components are connected to each other via a wired communication line laid inside the restaurant or via a wireless communication line such as WiFi. Note that FIG. 1 exemplifies a case where the self-ordering system 20 includes two types of mobile terminal devices, namely, a mobile terminal device A 300 and a mobile terminal device B 302. However, the self-ordering system 20 can appropriately include three or more types of mobile terminal devices used to receive services from three companies respectively.
[0018] The self-ordering system 20 receives information and messages or any of these regarding events such as orders for dishes provided by the restaurant from customers who visit the restaurant. Hereinafter, for the sake of brevity, "information and messages or any of these" will be simply referred to as "messages". Further, the self-ordering system 20 manages the received messages regarding events. The self-ordering system 20 performs processing for various events using the managed messages and executes these events. Note that the events may include one or more of restaurant reservations, dish orders, and payment of the price of the ordered dishes (accounting or settlement). Also, the events may include one or more of refund of the price of the dishes, presentation of the content of the dish order to the cooks in the kitchen, and management of the time required from the dish order until the dish is provided. However, these events are examples and the events are not limited to these.
[0019] Note that restaurant employees include waiters and waitresses who provide services such as delivering and serving dishes (products) to the customers' tables, clearing the dishes after meals, and storing the customers' clothes and luggage. However, if the restaurant is in a self-service format, the restaurant does not perform anything other than dish service for the customers. Also, not all restaurants provide services as described above to the customers in addition to food and beverage service.
[0020] The mobile order IF device 200 connects the mobile order service 10 and the order processing device 202 of the self-ordering system 20 via Web API and HTTP / HTTPS protocols, enabling the transmission and reception of information between them. The order processing device 202 receives and manages order information, accounting information, refund information, reservation information, etc., and executes processing for events such as performing various operations using the managed information, using the messages of each event. Order information, accounting information, refund information, etc. are input by customers and employees to the POS device 206, the handy terminal device 208, the self-order terminal device 210, the mobile terminal device A 300, the mobile terminal device B 302, and the POS device 206. Also, reservation information indicating a reservation at a restaurant is received by the order processing device 202 from the mobile order service 10, or is input by an employee to the order processing device 202 based on the content of a phone call from a customer.
[0021] The mobile terminal device A 300 is connected to the POS device 206 via a wireless communication line such as WiFi or a wired communication line by an API provided by the mobile terminal device A 300. The mobile terminal device B 302 is connected to the POS device 206 via a wireless communication line such as WiFi by an API provided by the mobile terminal device B 302.
[0022] For example, the mobile terminal device A 300 and the mobile terminal device B 302 are mobile payment terminals provided by a mobile payment provider, and specifically exemplified, they are operated by a company that provides payment, such as "SB C&S (a trademark of SoftBank Group Corporation)" or "Fiserv (registered trademark)". In FIG. 1, a configuration including the mobile terminal device A 300 and the mobile terminal device B 302 is exemplified, but in a general restaurant, the mobile payment terminals of a single payment provider contracted by each store are connected.
[0023] The order processing device 202 receives and manages order information indicating the details of a customer's food order, and performs processing mainly for printing out from the kitchen printer device 204, which is mainly placed in the kitchen. Through this processing, an event is executed to instruct the kitchen staff of the order details from the customer. The order processing device 202 can execute processing for printing out accounting information and barcodes indicating the accounting information, etc. from the kitchen printer device 204 on the receipt together with the order information. When the customer uses the barcode reading function of the POS device 206, the mobile terminal device A300, and the mobile terminal device B302 to read out the accounting information and barcodes printed out on the receipt, an event for paying the price of the food is executed.
[0024] The handy terminal device 208 is connected to the order processing device 202 via a wireless communication line such as WiFi. The handy terminal device 208 is used by employees. The employee listens to the customer's food order and performs an operation of inputting order information to the handy terminal device 208. The handy terminal device 208 receives the order information according to the employee's operation and outputs it to the order processing device 202. The order processing device 202 receives and manages the order information from the handy terminal device 208, and executes processing such as printing out from the kitchen printer device 204 arranged in the kitchen as described above.
[0025] The self-order terminal device 210 is connected to the order processing device 202 via a wireless communication line such as WiFi. The self-order terminal device 210 is used by the customer who arrives at the table in the restaurant. The customer performs an operation of inputting order information or accounting information to the self-order terminal device 210. The self-order terminal device 210 receives the order information or accounting information according to the customer's operation and outputs it to the order processing device 202. The order processing device 202 receives and manages the order information or accounting information from the self-order terminal device 210, and executes processing such as printing out from the kitchen printer device 204 arranged in the kitchen as described above.
[0026] [First Embodiment] FIG. 2 is a diagram illustrating the configuration of the self-ordering system 22 according to the present disclosure. FIG. 3A is a diagram illustrating the configuration of the message processing device 24 shown in FIG. 2. FIG. 3B is a diagram illustrating the configuration of the terminal device IF unit 26 shown in FIG. 3A. FIG. 3C is a diagram illustrating the configuration of the message generation unit 28 shown in FIG. 3A. FIG. 3D is a diagram illustrating the information stored in the event workflow database (event workflow DB) 242 shown in FIG. 3A.
[0027] Hereinafter, as a first embodiment according to the present disclosure, an example of a self-ordering system 22 with a modified configuration of the self-ordering system 20 described above will be described. In the following description, it is assumed that in the self-ordering system 20, a mobile terminal device A300 and a mobile terminal device B302 are newly introduced into the self-ordering system 20. In this case, the mobile terminal device A300 and the mobile terminal device B302 need to provide an API to the POS device 206, and the POS device 206 and the mobile terminal device A300 and the mobile terminal device B302 need to transmit and receive messages through this API. Therefore, in order to enable the POS device 206 to communicate with the mobile terminal device B302 using the new API, it is necessary to modify the program executed in the POS device 206. In order to modify such a program of the POS device 206, it is necessary to stop the processing of the self-ordering system 20. Therefore, in order to newly introduce the mobile terminal device A300 and the mobile terminal device B302 into the self-ordering system 20, the business of the restaurant is affected, such as being interrupted.
[0028] In addition, there are many companies that operate mobile payment terminals and provide various services related to restaurants. On the other hand, since various customers visit restaurants, the needs of customers for services are also diverse. Therefore, it is difficult for restaurants to selectively choose the services used in the self-ordering system 20 from the services provided by various companies that operate mobile payment terminals. In addition, the number of companies that operate mobile payment terminals and provide services to restaurant customers is increasing very rapidly. That is, the self-ordering system 20 must quickly support the services provided by numerous companies that operate mobile payment terminals. The self-ordering system 22 shown in FIG. 2 has a configuration that can meet these requirements.
[0029] As shown in FIG. 2, the self-ordering system 22 is different in configuration from the self-ordering system 20. That is, in the self-ordering system 22, the mobile terminal device A300 and the mobile terminal device B302 are connected to the order processing device 202 via the message processing device 24 and the mobile order IF device 200, rather than via the POS device 206. Similar to the self-ordering system 20, the self-ordering system 22 manages messages related to events received from the message processing device 24. Using the managed messages, it performs processing for various events and executes these events. Note that the self-ordering system 22, like the self-ordering system 20, can be used not only for the provision of dishes and services by restaurants but also for the provision of various goods and services by various companies or any of these.
[0030] The message processing device 24 and the mobile terminal device A300 are connected via a wireless communication line such as WiFi using the API provided by the mobile terminal device A300. The message processing device 24 and the mobile terminal device B302 are connected via a wireless communication line such as WiFi using the API provided by the mobile terminal device B302. The message processing device 24 transmits and receives messages to and from the mobile terminal device A300 and the mobile terminal device B302, executes a workflow corresponding to the transmitted and received messages, and outputs the generated messages to the order processing device 202.
[0031] Note that as the message processing device 24, UNIVERGE (registered trademark) Integration Platform (UIP) that connects the order processing device 202, the mobile terminal device A300, and the mobile terminal device B302 using a Web API can be used. When UIP is used as the order processing device 202, a workflow for realizing an event and messages used for the processing thereof can be easily defined by a GUI.
[0032] As shown in FIG. 3A, the message processing device 24 includes a terminal device IF unit 26 connected to the mobile terminal device A300 and the mobile terminal device B302, a message queue 240, a message generation unit 28, an event workflow DB 242, a message queue 246, and an order processing device IF unit 250. Note that the workflow queued in the message queue 246 and the message thereof can be a topic 248.
[0033] As shown in FIG. 3B, the terminal device IF unit 26 of the message processing device 24 includes a message transmission / reception unit 260 (reception unit), a message conversion unit 262, and a topic post unit 264. As shown in FIG. 3C, the message generation unit 28 of the message processing device 24 includes a message reception unit 280, a workflow selection unit 282, a message abstraction unit 284, and a workflow processing unit 286.
[0034] As shown in FIG. 3D, the event workflow DB 242 of the message processing device 24 stores, in association with each of N types of events 1 to N (N ≧ 1), the definitions of workflows 1 to N for each of the events 1 to N in the self-ordering system 20. The event workflow DB 242 stores in advance the events 1 to N and the workflows 1 to N associated therewith before the processing of the mobile terminal device is started.
[0035] FIG. 4A is a diagram illustrating a message (settlement message) used when a user using the mobile terminal device A300 for Company A performs accounting, the settlement message converted into a general-purpose format, and the abstracted settlement message. FIG. 4B is a diagram illustrating a settlement message used when a user using the mobile terminal device B302 for Company B performs accounting, the settlement message converted into a general-purpose format, and the abstracted settlement message.
[0036] FIG. 5A is a diagram illustrating a message (refund message) used when a user using the mobile terminal device A300 for Company A receives a refund of a fee, the refund message converted into a general-purpose format, and the abstracted refund message. FIG. 5B is a diagram illustrating a refund message used when a user using the mobile terminal device B302 for Company B receives a refund of a fee, the refund message converted into a general-purpose format, and the abstracted refund message.
[0037] The conversion of the message into a general-purpose format is achieved by converting the messages from the mobile terminal device A300 and the mobile terminal device B302 into a format that is common to these messages and independent of any of these messages, for example, the Json format. Also, the abstraction of the message is achieved by converting the messages from the mobile terminal device A300 and the mobile terminal device B302 in the general-purpose format into a format that can include both of these messages.
[0038] Note that the abstracted payment message shown in FIG. 4A is the same as the abstracted payment message shown in FIG. 4B. Also, the abstracted refund message shown in FIG. 5A is the same as the abstracted refund message shown in FIG. 5B. In FIGS. 4A to 5B, "payReq" in "Function" indicates a payment request, "12345" in "sequencedid" indicates an identification number of a processing sequence, and "¥10,000" in "amount" indicates an amount to be paid. Also, in FIGS. 4A to 5B, "sales" in "payType" indicates sales, "Credit" in "payMethod" indicates that the payment was made by credit card, and "xxxxxx" in "checksum" indicates a checksum used for error detection of the message.
[0039] As shown in FIGS. 3A and 3B, in the message processing device 24, the message transmission / reception unit 260 of the terminal device IF unit 26 transmits and receives messages to and from the mobile terminal device A 300 and the mobile terminal device B 302. The message transmission / reception unit 260 outputs the messages received from the mobile terminal device A 300 and the mobile terminal device B 302 to the message conversion unit 262. Note that the message of the payment event received from the mobile terminal device A 300 takes, for example, the format shown on the left side of FIG. 4A. On the other hand, the message of the payment event received from the mobile terminal device B 302 takes, for example, the format shown on the left side of FIG. 4B. Also, the message of the refund event received from the mobile terminal device A 300 takes, for example, the format shown on the left side of FIG. 5A. On the other hand, the message of the refund event received from the mobile terminal device B 302 takes, for example, the format shown on the left side of FIG. 5B. That is, the message of the event received by the message transmission / reception unit 260 from the mobile terminal device A 300 takes a format depending on the service provided by Company A. On the other hand, the message of the event received by the message transmission / reception unit 260 from the mobile terminal device B 302 takes a format depending on the service provided by Company B.
[0040] The message conversion unit 262 receives input from the message transceiver unit 260 and converts messages of events (e.g., event i; N≥i≥1) that depend on the services provided by Company A and Company B into a general format. The message conversion unit 262 outputs the message of event i converted into the general format to the topic posting unit 264. Note that the message of the settlement event received from the mobile terminal device A300 is generalized and, for example, takes the form shown in the center of FIG. 4A. On the other hand, the message of the settlement event received from the mobile terminal device B302 is generalized and, for example, takes the form shown in the center of FIG. 4B. Also, the message of the refund event received from the mobile terminal device A300 is generalized and, for example, takes the form shown in the center of FIG. 5A. On the other hand, the message of the refund event received from the mobile terminal device B302 is generalized and, for example, takes the form shown in the center of FIG. 5B.
[0041] The topic posting unit 264 posts the message of event i in the general format input from the message conversion unit 262 to the message queue 240 shown in FIG. 3A as a topic. When the queuing of the message of event i posted from the topic posting unit 264 to the message queue 240 is successful, the message queue 240 returns a response indicating that the queuing was successful to the terminal device IF unit 26. When this response is returned from the message queue 240, the terminal device IF unit 26 stops processing until it receives a message of the next event from either the mobile terminal device A300 or the mobile terminal device B302.
[0042] The message queue 240 queues the message of event i posted from the topic post section 264, and further outputs the queued message of event i to the message generation unit 28. As shown in FIGS. 3A and 3C, in the message generation unit 28, the message reception unit 280 receives the message of event i output from the message queue 240. When the message reception unit 280 further succeeds in receiving the message of event i, it returns a response indicating that to the message queue 240. When the message queue 240 receives this response, it deletes the message of event i output to the message reception unit 280 from the message queue 240.
[0043] The message reception unit 280 outputs the message of event i input from the message queue 240 to the workflow selection unit 282. When there is a workflow i for event i corresponding to the message of event i in the event workflow DB 242 shown in FIGS. 3A and 3D, the workflow selection unit 282 outputs the message of event i to the message abstraction unit 284, notifies the workflow processing unit 286 of the workflow i, and starts the workflow i. The message abstraction unit 284 abstracts the message of event i input from the workflow selection unit 282. The message abstraction unit 284 outputs the abstracted message to the workflow processing unit 286. The workflow processing unit 286 processes the abstracted message input from the message abstraction unit 284 and generates a message executable by the order processing device 202. The workflow processing unit 286 outputs the generated message to the message queue 246 as a topic 248.
[0044] The abstracted message of the settlement event input from the message transmission / reception unit 260 is abstracted by the message abstraction unit 284 as described above, and is in the format shown on the right side of FIGS. 4A and 4B, for example. Also, the abstracted message of the refund event input from the message transmission / reception unit 260 is abstracted by the message abstraction unit 284 as described above, and is in the format shown on the right side of FIGS. 5A and 5B, for example.
[0045] The message queue 246 queues the input topic 248. The order processing device IF unit 250 reads the topic 248 including the generated message from the message queue 246. The order processing device IF unit 250 outputs the message included in the read topic 248 and generated by the workflow processing unit 286 to the order processing device 202 via the mobile order IF device 200 to cause the event i to be executed.
[0046] In both the mobile terminal device A 300 and the mobile terminal device B 302, in the case of common events such as settlement events, the abstracted message, workflow i, and generated message are common. Also, except when the order processing device 202 needs to support the functions specific to the mobile terminal device, the generated message is a message in the WebAPI and HTTP / HTTPS protocols that can already be executed by the order processing device 202 of the self-ordering system 22. Therefore, it is possible to support the mobile terminal device without modifying the programs of the order processing device 202 and the POS device 206 of the self-ordering system 22.
[0047] The exemplary operation of the self-ordering system 22 will be described below. FIG. 6 is a sequence diagram illustrating the operation of the self-ordering system 22 shown in FIG. 2 and the like. FIG. 7 is a flowchart diagram illustrating the process of S16 shown in FIG. 6. As shown in FIG. 6, two customers in a restaurant perform operations (S140) to cause the self-ordering system 22 to execute a settlement and refund event i for each of the mobile terminal device A300 and the mobile terminal device B302. The mobile terminal device A300 and the mobile terminal device B302 each output a message of the settlement and refund event i to the terminal device IF unit 26 shown in FIG. 3A (S142).
[0048] The terminal device IF unit 26 receives the messages of the event i from each of the mobile terminal device A300 and the mobile terminal device B302 (see the left side of FIGS. 4A to 5B). The terminal device IF unit 26 converts the received message of the event i into a general-purpose format (see the center of FIGS. 4A to 5B) and outputs it to the message generation unit 28 via the message queue 240 (not shown in FIG. 6) shown in FIG. 3A (S144).
[0049] The message generation unit 28 performs the process of S16 shown in FIG. 7 on the input general-purpose format message. Through this process, the message generation unit 28 outputs the message generated by the message generation unit 28 as a topic 248 to the order processing device IF unit 250 via the message queue 246 (S150). The order processing device IF unit 250 outputs the message generated by the message generation unit 28 to the order processing device 202 (S152).
[0050] The order processing device 202 uses the message of the event i input from the order processing device IF unit 250 to perform the process for the event i and execute the event i. As a result, services related to the settlement and refund event i are provided to the users of the mobile terminal device A300 and the mobile terminal device B302 (S154).
[0051] Hereinafter, an exemplary process of S16 will be described with reference to FIG. 7. The message receiving unit 280 of the message generation unit 28 receives an input of a message of event i in a general format via the message queue 240. The message receiving unit 280 outputs the received message to the workflow selection unit 282 (S160).
[0052] The workflow selection unit 282 determines whether a workflow i (WF) for event i corresponding to the message input from the message receiving unit 280 is stored in the event workflow DB 242. When the workflow i is stored in the event workflow DB 242 (Y in the process of S162), the workflow selection unit 282 reads the message, outputs it to the message abstraction unit 284, notifies the workflow processing unit 286 of the workflow i, and starts the workflow. When the workflow i is not stored (N in the process of S162), the workflow selection unit 282 returns to the process of S160 (S162).
[0053] The message abstraction unit 284 receives the message of event i from the workflow selection unit 282. Further, the message abstraction unit 284 abstracts the received message and outputs it to the workflow processing unit 286 (S164). The workflow processing unit 286 executes the workflow with the abstracted message (S166). The generated message is output to the message queue 246 (S168).
[0054] Hereinafter, the technical effects achieved by the self-ordering system 22 shown in FIG. 2 and the like will be described. In the self-ordering system 22, more types of mobile terminal devices can be connected to the message processing device 24 than when a mobile terminal device is connected to the POS device 206. Therefore, the self-ordering system 22 can provide users with more diverse accounting methods and the like than the self-ordering system 20 according to the types of mobile terminal devices connected.
[0055] In addition, it is assumed that operations for the same event are performed on the mobile terminal device A300, the mobile terminal device B302, and other mobile terminal devices with respect to the self-ordering system 22. In such a case, the messages of the events to be transmitted to the workflow and order processing device 202 can be shared among these mobile terminal devices. Furthermore, by simply adding only the functions specific to the new mobile terminal device to the processing of the message processing device 24, new mobile terminal devices can be further connected to the self-ordering system 22 in addition to these mobile terminal devices.
[0056] In addition, in the self-ordering system 22, event messages are transmitted and received between the components of the message processing device 24 via the message queues 240 and 246. Therefore, even when a new mobile terminal device is introduced into the self-ordering system 22, it is not necessary to stop the operation of the self-ordering system 22. That is, the administrator of the self-ordering system 22 can connect a new mobile terminal device to the message processing device 24 at any timing without synchronizing the processing timings of the respective components of the self-ordering system 22.
[0057] Similarly, the administrator of the self-ordering system 22 can modify the program for connecting a new mobile terminal device to the message processing device 24 at any timing. According to the self-ordering system 22, various services can be provided to the customers in addition to accounting and refund. Also, even if the formats of the messages transmitted and received between the mobile terminal device and the message processing device 24 are different for each company providing the service, the message processing device 24 can absorb the differences in the messages. Therefore, the services provided by each company can be efficiently provided to the customers by the message processing device 24.
[0058] Hereinafter, an exemplary configuration of an information processing apparatus 5 that executes a program for realizing the processing of components of the self-ordering systems 20 and 22 will be described. FIG. 8 is a diagram illustrating the configuration of an information processing apparatus 5 that executes a program for realizing the processing of components of the self-ordering systems 20 and 22. Each function of the self-ordering systems 20 and 22 can be realized by a program operating in the information processing apparatus (computer) 5 having the configuration shown in FIG. 8.
[0059] As shown in FIG. 8, the information processing apparatus 5 includes a CPU (Central Processing Unit) 500, a main storage device 502, an auxiliary storage device 504, and an interface (IF) unit 506 that are mutually connected via a bus so as to be able to input and output information. However, the information processing apparatus 5 may include hardware components other than those shown in FIG. 8, and the components of the information processing apparatus 5 may be distributed over a plurality of devices. That is, the configuration of the information processing apparatus 5 is not limited to the configuration shown in FIG. 8.
[0060] The CPU 500 executes instruction commands included in a program that is executed by the information processing apparatus 5 and is required for the processing of the self-ordering systems 20 and 22. The main storage device 502 includes storage elements such as, for example, a RAM (Random Access Memory) and a ROM (Read Only Memory), and temporarily stores data used by the CPU 500 to execute a program.
[0061] The auxiliary storage device 504 includes non-volatile storage devices such as, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), and a flash memory, and stores programs executed by the CPU 500 and the like in the medium to long term. Note that the programs stored in the auxiliary storage device 504 can be provided and distributed as products stored in non-transitory computer-readable recording media such as magnetic storage media, CDs, and DVDs.
[0062] The IF unit 506 provides an interface for input / output of information between the mobile order service 10 and the self-ordering systems 20, 22. Further, the IF unit 506 further provides an interface for input / output of information between the POS device 206 and the message processing device 24 and the mobile terminal device A 300 and the mobile terminal device B 302.
[0063] As described above, each component of the self-ordering systems 20, 22 can be realized by a program executed in the information processing device 5. On the other hand, these components may be realized by dedicated hardware, or may be realized by an appropriate combination of hardware and software (program) executed in the information processing device 5. Further, as described above, since the components of the self-ordering systems 20, 22 can be realized by a program, the content of the processing executed in the components of the self-ordering systems 20, 22 can be grasped as a processing method.
[0064] The following forms are possible in the present application, but are not limited thereto. [Appendix 1] A message processing device including a terminal device interface unit, an order processing device interface unit, an event workflow database, and a message generation unit. The terminal device interface unit is configured to be connected by a first API provided by each of a plurality of terminal devices and the plurality of terminal devices. The order processing device interface unit is configured to be connected by a second API different from the first API via a self-ordering system and a mobile order interface. The event workflow database is configured to store by associating each of a plurality of events with each of a plurality of workflows. The message generation unit is configured to receive a message of an event of the first API and generate a message corresponding to the second API. [Appendix 2] The message generation unit converts the first API provided by each of the plurality of terminal devices into a message obtained by abstracting the API, processes the message obtained by abstraction in a workflow corresponding to the event, and generates a message corresponding to the second API. The message processing apparatus according to Supplementary Note 1. [Supplementary Note 3] The message processing apparatus according to Supplementary Note 1 or 2, further comprising a first message queue and a second message queue. The first message queue is configured to queue messages of the plurality of events each obtained by converting the first API into a general-purpose format, between the order processing apparatus interface unit and the message generation unit. The second message queue is configured to queue messages converted into the format of the second API, between the message generation unit and the order processing apparatus interface unit. [Supplementary Note 4] The event includes one or more of reservation at a restaurant, order of a dish, payment of the price of the ordered dish, refund of the price of the dish, presentation of the content of the order of the dish to a cook in a kitchen, and management of the time required from the order of the dish until the dish is provided. The message processing apparatus according to any one of Supplementary Notes 1 to 3. [Supplementary Note 5] Each of the plurality of terminal devices is configured to transmit a message in a format conforming to each service provided by a plurality of companies to the receiving unit. The message processing apparatus according to any one of Supplementary Notes 1 to 4. [Supplementary Note 6] The service provides goods and services or any of these. The message processing apparatus according to any one of Supplementary Notes 1 to 5. [Supplementary Note 7] A self-ordering system including the message processing apparatus according to any one of Supplementary Notes 1 to 5 and an order processing apparatus. The order processing apparatus is configured to receive a message of an event corresponding to the output second API and execute event processing. [Supplementary Note 8] A message processing method comprising a memory step, a reception step, a message conversion step, a workflow selection step, a message abstraction step, a message generation step, and a message output step. The memory step stores in an event workflow database by associating each of a plurality of events with each of a plurality of workflows. The reception step receives messages of each of the plurality of events from each of a plurality of terminal devices using a first API different for each of the plurality of terminal devices. The message conversion step converts the messages of each of the received plurality of events into a general-purpose format independent of the plurality of terminal devices. The workflow selection step selects any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format from the event workflow database. The message abstraction step abstracts the message of the event corresponding to the selected workflow by converting it into a format that may include all of the messages of the plurality of events. The message generation step executes the selected workflow with the abstracted message of the event and generates a message corresponding to a second API. The message output step outputs the generated message corresponding to the second API. [Appendix 9] A message processing program comprising a memory process, a reception process, a message conversion process, a workflow selection process, a message abstraction process, a message generation process, and a message output process. The memory process stores in an event-workflow database by associating each of a plurality of events with each of a plurality of workflows. The reception process receives messages of each of the plurality of events from each of the plurality of terminal devices using a first API that is different for each of the plurality of terminal devices. The message conversion process converts the messages of each of the received plurality of events into a general-purpose format independent of the plurality of terminal devices. The workflow selection process selects any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format from the event-workflow database. The message abstraction process abstracts the message of the event corresponding to the selected workflow by converting it into a format that can include all of the messages of the plurality of events. The message generation process executes the selected workflow with the abstracted message of the event and generates a message corresponding to a second API. The message output process outputs the generated message corresponding to the second API. It goes without saying that any combination of the forms according to the appendices of the present disclosure, or any combination of the elements described in each perspective and embodiment (including non-selection of some elements) can be made by those skilled in the art at any time according to the basic concept of the present disclosure.
[0065] Note that the disclosures of the above-cited patent documents and the like are incorporated herein by reference. Within the scope of all the disclosures (including the claims), further modifications and adjustments of the embodiments or examples can be made based on their basic technical concepts. Also, within the scope of all the disclosures, various combinations or selections (including partial deletion) of various disclosure elements (including each element of each claim, each element of the embodiments or examples, each element of each drawing, etc.) are possible. That is, this disclosure naturally includes all the disclosures including the claims, as well as various modifications and corrections that could be made by those skilled in the art according to the technical concept. In particular, for the numerical ranges described in this document, any numerical value or small range included within that range should be construed as specifically described even in the absence of separate description. Furthermore, the disclosed matters of the above patent documents are, as necessary, considered to be included in the disclosure of this application as part of this disclosure, and can be used in combination with the matters described in this document, either in part or in whole, in accordance with the spirit of this disclosure.
Explanation of Reference Numerals
[0066] 10 Mobile Order Service 20, 22 Self-Ordering System 200 Mobile Order Interface Device 202 Order Processing Device 204 Kitchen Printer Device 206 POS Device 208 Handheld Terminal Device 210 Self-Order Terminal Device 300 Mobile Terminal Device A 302 Mobile Terminal Device B 24 Message Processing Device 240 Message Queue 242 Event Workflow DB 246 Message Queue 248 Topic 250 Order Processing Device Interface Unit 26 Terminal Device IF Unit 260 Message Transceiver Unit 262 Message Conversion Unit 264 Topic Posting Section 28 Message Generation Section 280 Message Reception Section 282 Workflow Selection Section 284 Message Abstraction Section 286 Workflow Processing Section 5 Information Processing Apparatus 500 CPU 502 Main Memory Device 504 Auxiliary Memory Device 506 Interface Section (IF)
Claims
1. A terminal device interface unit configured to be connected by a plurality of terminal devices and a first API provided by each of the plurality of terminal devices; An order processing device interface unit configured to be connected by a second API different from the first API via a self-ordering system and a mobile order interface; An event workflow database configured to store a correspondence between each of a plurality of events and each of a plurality of workflows; A message generation unit configured to receive a message of an event of the first API and generate a message corresponding to the second API; A message processing device comprising:
2. The message generation unit converts the message of the first API provided by each of the plurality of terminal devices into an abstracted message, processes the abstracted message with a workflow corresponding to the event, and generates a message corresponding to the second API. The message processing device according to claim 1.
3. A first message queue configured to queue messages of each of the plurality of events in which the first API is converted into a general-purpose format, between the order processing device interface unit and the message generation unit; A second message queue configured to queue messages converted into the format of the second API, between the message generation unit and the order processing device interface unit; The message processing device according to claim 1, comprising:
4. The event includes one or more of restaurant reservations, food orders, payment of the price of the ordered food, refund of the price of the food, presentation of the content of the food order to the cook in the kitchen, and management of the time required from the food order until the food is provided. The message processing device according to claim 1.
5. Each of the plurality of terminal devices is configured to transmit a message in a format compatible with each of the services provided by a plurality of companies to the receiving unit. The message processing apparatus according to claim 1.
6. The service provides goods and services or either of them. The message processing apparatus according to claim 5.
7. The message processing apparatus according to claim 1, and An order processing apparatus configured to receive a message of an event corresponding to the output second API and execute event processing A self-ordering system comprising the same.
8. A storage step of associating each of a plurality of events with each of a plurality of workflows and storing the same in an event workflow database; A receiving step of receiving messages of each of the plurality of events from each of the plurality of terminal devices via a first API different for each of the plurality of terminal devices; A message conversion step of converting the messages of each of the plurality of received events into a general-purpose format independent of the plurality of terminal devices; A workflow selection step of selecting any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format from the event workflow database; A message abstraction step of abstracting the message of the event corresponding to the selected workflow by converting it into a format that may include all of the messages of the plurality of events; A message generation step of executing the selected workflow with the abstracted message of the event and generating a message corresponding to the second API; A message output step of outputting the generated message corresponding to the second API A message processing method comprising
9. A storage process of associating each of a plurality of events with each of a plurality of workflows and storing them in an event workflow database, A receiving process of receiving messages of each of the plurality of events from each of the plurality of terminal devices using a first API different for each of the plurality of terminal devices, A message conversion process of converting the received messages of each of the plurality of events into a general-purpose format independent of the plurality of terminal devices, A workflow selection process of selecting any one of the plurality of workflows corresponding to the messages of the plurality of events converted into the general-purpose format from the event workflow database, A message abstraction process of abstracting the message of the event corresponding to the selected workflow by converting it into a format that may include all of the messages of the plurality of events, A message generation process of executing the selected workflow with the abstracted message of the event and generating a message corresponding to a second API, A message output process of outputting the generated message corresponding to the second API A message processing program comprising
Citation Information
Patent Citations
Self-order system, self-order management method and program
JP2019197543A