System
The system addresses inefficiencies in restaurant seat management by offering real-time seat availability and reservation tools, reducing vacancies and improving customer experience through accurate and timely information updates.
Patent Information
- Application Number
- JP2024131350
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
Existing systems for managing restaurant seat availability are inefficient, leading to time-consuming reservation processes, vacant seats, and inaccuracies due to outdated information, which affects both customers and restaurants.
A system that includes a server managing real-time seat availability information, a cash register system for immediate updates, and user devices for reservation management, ensuring accurate and timely access to vacant seats and reservations.
This system reduces vacant seats and improves reservation efficiency by providing real-time seat information to both customers and staff, enhancing user convenience and store management.
Smart Images

Figure 2026028734000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In restaurants, checking seat availability and managing reservations is not only time-consuming for both the restaurant and the customer, but also leads to vacant seats and reduced efficiency due to unnecessary walking around. Conventional systems make it difficult to accurately grasp seat availability information and update it in real time, and problems are likely to occur due to discrepancies in information. The purpose of this invention is to solve these problems and provide a system that allows customers to check seat availability information in real time and make efficient reservations and use of the facility. [Means for solving the problem]
[0005] The present invention provides a system including a means for acquiring current vacant seat information in real time, a means for updating seat status based on the acquired vacant seat information, a means for providing vacant seat information to a user's terminal, a means for managing the acquired vacant seat information and reservation information, and a means for displaying a seat layout and updating seat status in a cash register system. The system further includes a means for suggesting appropriate seats to a user based on the vacant seat information, and a means for a server to provide vacant seat information in real time based on a request from the user's terminal. This allows restaurants to reduce vacant seats and efficiently attract customers, while also enabling customers to find and reserve vacant seats without wasting time.
[0006] "Vacant seat information" refers to information about currently available seats and their status at a set location such as a restaurant.
[0007] "Real time" refers to something that is reflected immediately at the current point in time.
[0008] "User's device" refers to an electronic device used by a user, such as a smartphone, tablet, or PC.
[0009] A "server" refers to a computer system that responds to client requests and provides data over a network.
[0010] A "layout" is a diagram or plan showing the arrangement and placement of seats in a particular location.
[0011] "Means" refers to a method or device used to achieve a particular purpose.
[0012] "Reservation information" refers to detailed information when a user makes a reservation to use a specific seat on a specific date and time.
[0013] "Management" refers to the activity of understanding the state and situation of an object and appropriately controlling and operating it.
[0014] "Providing" refers to the activity of sending or displaying necessary information or data to others.
[0015] "Customer attraction" refers to activities that attract many customers to a store or service. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), and a user terminal.
[0038] server
[0039] Server Role:
[0040] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. The server has the function of retrieving and updating seat availability information in real time. It also manages reservation information and returns appropriate responses. Specifically, the server updates the database regularly to ensure that seat availability is reflected immediately.
[0041] Terminal (cash register system)
[0042] Device role:
[0043] The cash register system in the store receives the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seating status, the cash register system sends that information to the server. This updates the layout screen in real time, allowing the store clerk to understand the current seat availability.
[0044] Examples:
[0045] For example, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. Also, when a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0046] User's device
[0047] User's device role:
[0048] Users use devices such as smartphones and tablets to obtain vacant seat information through the application. They can then make reservations in real time based on the vacant seat information. Specifically, when a user presses the "Check vacant seat" button on the application, the device sends a request to the server, which returns the current vacant seat status. When the user selects the desired seat and presses the "Reserve" button, that information is sent to the server, the seat status changes to "Reserved," and other users are prevented from reserving that seat.
[0049] Examples:
[0050] For example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users.
[0051] Summary
[0052] This system allows restaurants to efficiently manage reservations so as not to leave empty seats, and allows users to find vacant seats without wasting time. In addition, by linking the cash register system and the user's smartphone app in real time via a server, the latest information is always shared, preventing problems before they occur. This system provides great convenience to both restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, and managing reservation information.
[0053] The processing flow will be explained below.
[0054] Step 1: User presses Check Availability button
[0055] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0056] Step 2: The server receives the request and retrieves the available seat information.
[0057] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0058] Step 3: The server sends the vacant seat information to the user's device.
[0059] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0060] Step 4: The user selects the seat they want to reserve and presses the "Reserve" button.
[0061] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[0062] Step 5: The server receives the request and checks the seat status
[0063] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[0064] Step 6: The server updates the seat status to "reserved"
[0065] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[0066] Step 7: Display a successful reservation notification on the user's device
[0067] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[0068] Step 8: The cashier system periodically requests seat availability information from the server
[0069] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[0070] Step 9: The server sends the latest seat availability information to the terminal.
[0071] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[0072] Step 10: The cash register system updates in-store displays
[0073] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[0074] Step 11: Change the seat status to "occupied" when the staff arrives
[0075] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[0076] Step 12: The server updates the seat status to "in use"
[0077] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[0078] Example 1
[0079] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0080] In the current restaurant industry, the management of vacant seating information differs from establishment to establishment, making it difficult to share information in real time. This means that users are unable to obtain accurate vacant seating information when making reservations, and restaurants have to work hard to manage reservations. In addition, because staff manually update seating status, errors are likely to occur, which can impair user convenience. To solve these problems, a system that can manage and share vacant seating information in an integrated manner in real time is needed.
[0081] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0082] In this invention, the server includes: a means for a user to obtain vacant seat information through an application using a device such as a smartphone or tablet; a means for the server to have a database that manages seat information for each store and provide an API endpoint for processing requests from the user's device and the store's cash register system; a means for the server to obtain and update vacant seat information in real time; a means for the server to manage reservation information and return an appropriate response; a means for the server to periodically update the database so that vacant seat status is reflected immediately; a means for the in-store cash register system to obtain the latest seat information sent from the server and display it on an in-store display; and a means for the cash register system to send information to the server when a store clerk wants to change the seat status. This enables real-time acquisition and management of vacant seat information both inside and outside the store, improving user convenience and potentially significantly improving store management efficiency.
[0083] "User terminal" refers to a mobile device such as a smartphone or tablet used by a user, through which seat availability information can be obtained and reservations can be made.
[0084] A "server" is a computer system that manages and processes data, and in the present invention is a system that has a database that manages seating information for each store and provides an API end point.
[0085] An "application" is software that users install on devices such as smartphones and tablets, and is a program through which they can check available seating information and make reservations.
[0086] An "API endpoint" is an interface through which a server receives requests from a user's terminal and a store's cash register system and provides data in response.
[0087] "Vacant seat information" is status information indicating whether seats are available at a restaurant or other establishment, and is data that is acquired and updated in real time.
[0088] A "database" is a system for structuring and storing seating information and reservation information for each store, allowing for quick and accurate data acquisition and updating.
[0089] The "cash register system" is a computer system used within a store that has the function of acquiring the latest seating information sent from a server and displaying it on a display within the store.
[0090] The "in-store display" is a display device installed inside the store, and is a device for displaying vacant seat information obtained through the cash register system in real time.
[0091] "Reservation information" is information that allows a user to reserve a specific seat at a specific date and time, and is data that is managed and updated by the server.
[0092] MODE FOR CARRYING OUT THE INVENTION
[0093] This invention is a system for managing vacant seat information of restaurants in real time, enabling users to efficiently find and reserve vacant seats. An embodiment of this system will be described in detail below.
[0094] server
[0095] The server has a database that manages seating information for each restaurant. Database management systems (DBMS) used include MySQL and PostgreSQL. The server provides a RESTful API endpoint to process requests from user devices and the restaurant's cash register system. This API endpoint is built using a web framework such as Node.js or Django.
[0096] Specifically, the server receives seating information from the store's cash register system every five minutes and updates the database. When a user requests seat availability information through a smartphone application, the server returns a response based on the latest data. The server also manages reservation information and returns appropriate responses. This makes it possible to obtain and manage seat availability information in real time both inside and outside the store.
[0097] Terminal (cash register system)
[0098] The cash register system is built using Python and Java, and retrieves the latest seating information sent from the server and displays it on a display in the store. When a store clerk wants to change the seating status, they send this information to the server. This updates the layout screen in real time, allowing the store clerk to see the current seat availability.
[0099] Specifically, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. When a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0100] User's device
[0101] Users can obtain information about available seats via the application using devices such as smartphones and tablets. The application was developed using React Native and Flutter, and by pressing the "Check Availability" button within the app, a request is sent to the server and the latest available seat information is obtained. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, and the server updates the seat status to "Reserved."
[0102] As a concrete example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability of seats in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users. This improves user convenience and significantly improves store management efficiency.
[0103] Prompt Sentence Examples
[0104] "Please explain how the system for managing restaurant seat availability in real time works. In particular, please explain in detail the data communication between the user's device and the server."
[0105] Through this invention, it is possible to provide a system that is highly convenient for both stores and customers, and to realize efficient management of vacant seats.
[0106] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0107] Step 1:
[0108] The server initializes the database
[0109] The server sets up a database to manage seating information for each store. Specifically, a database management system such as MySQL or PostgreSQL is used to create a new table and store seating information and reservation information.
[0110] Input: None (default setting)
[0111] Output: Database table (seat information, reservation information)
[0112] Step 2:
[0113] The server provides an API endpoint
[0114] The server sets up a RESTful API endpoint to receive requests from users and the cash register system. Using Node.js or Django, we create an endpoint that processes GET and POST requests.
[0115] Input: None (default setting)
[0116] Output: API endpoint
[0117] Step 3:
[0118] The cashier system requests seat information from the server
[0119] The terminal (cash register system) sends an HTTP GET request to the server every 5 minutes to obtain the latest seating information.
[0120] Input: HTTP GET request
[0121] Output: Latest seat information (JSON format)
[0122] Step 4:
[0123] The cash register system updates in-store displays
[0124] The cash register system uses the latest seating information to update the display in the store, using HTML / CSS and JavaFX.
[0125] Input: Latest seat information
[0126] Output: Update display (displays seat availability information)
[0127] Step 5:
[0128] The staff changes the seating status
[0129] If a waiter wants to change the seat status to "occupied" or "reserved," he or she enters that information into the cash register system and sends a change request to the server.
[0130] Input: Seat status change request (HTTP POST request)
[0131] Output: Update the server database
[0132] Step 6:
[0133] The user retrieves vacant seat information through the application.
[0134] The user launches the application on their smartphone or tablet and presses the "Check Seat Availability" button to send an HTTP GET request to the server, which then returns a response based on the latest seat information.
[0135] Input: Seat availability request (HTTP GET request)
[0136] Output: Latest seat information (JSON format)
[0137] Step 7:
[0138] The user reserves the desired seat
[0139] When the user selects the desired seat and presses the "Reserve" button, the application sends an HTTP POST request to the server with the reservation information, which then updates the database and changes the seat status to "Reserved."
[0140] Input: Reservation request (HTTP POST request)
[0141] Output: Seat information update (reserved)
[0142] Step 8:
[0143] The server reflects the reservation information to other users.
[0144] The server will then return the latest information to other users in response to their seat availability requests based on the updated information in the database, thereby preventing other users from re-reserving seats that have already been reserved.
[0145] Input: Database update information
[0146] Output: Response with latest availability information
[0147] This series of processes allows users to efficiently find and reserve vacant seats, and stores to manage vacant seat information in real time.
[0148] (Application example 1)
[0149] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0150] Conventional restaurant vacancy management systems often prevent users from checking seat availability until they arrive at the restaurant, resulting in wasted time and the possibility of arriving at the restaurant only to find that all seats are taken. Furthermore, the systems lack the real-time and visibility required for users to check seat availability information and make reservations. Furthermore, there are limited ways to visually and intuitively check seat availability information, creating a need for an improved user experience.
[0151] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0152] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing the vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, and means for displaying vacant seat information on smart glasses so that a user can check vacant seats within their field of view and make reservations. This allows a user to use the smart glasses to check vacant seat information at nearby restaurants in real time while on the town and make instant reservations.
[0153] "Means for obtaining current seat availability information in real time" refers to equipment or software that instantly obtains seat availability information within a restaurant and collects it as data.
[0154] "Means for updating seat status based on acquired vacant seat information" refers to equipment or software that automatically updates and reflects seat usage status based on the latest vacant seat information collected on the server.
[0155] "Means for providing seat availability information to a user's device" refers to equipment or software for sending and displaying the latest seat availability information to a device owned by the user, such as a smartphone or tablet.
[0156] "Means for managing acquired seat availability information and reservation information" refers to equipment or software that centrally manages seat availability information and reservation information acquired by the server, and updates and stores this data as necessary.
[0157] "Means for displaying seating layout and updating seating status in the cash register system" refers to equipment and software that enables the cash register system in a store to visually display the current seating arrangement and usage status, and instantly reflects changes to seating status made by store staff.
[0158] "A means for displaying seat availability information on smart glasses, allowing users to check seat availability within their field of vision and make reservations" refers to equipment or software that displays seat availability information in real time on a smart device worn by a user (e.g., smart glasses), allowing users to check the information within their field of vision and make reservations through operation.
[0159] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. Specifically, this system consists of a server, a terminal (cash register system), a user terminal, and smart glasses.
[0160] server
[0161] Server Roles
[0162] The server has a database that manages seating information for each restaurant, and has the ability to retrieve and update seat availability and reservation information in real time. It also provides an API endpoint to process requests from user devices and in-store cash register systems. The server periodically updates the database so that seat availability is reflected immediately.
[0163] Terminal (cash register system)
[0164] Device Role
[0165] The store's cash register system retrieves the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seat status, that information is sent to the server and the seat status is updated in real time. This ensures that the current seat availability is always accurately managed and prevents other users from accidentally reserving the seat.
[0166] User's device
[0167] User device role
[0168] Users can obtain seat availability information through the application using devices such as smartphones and tablets. When they open the application and press the "Check Seat Availability" button, the device sends a request to the server, which displays the current seat availability. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, the seat status changes to "Reserved," and other users cannot reserve that seat.
[0169] Smart Glasses
[0170] The role of smart glasses
[0171] Users wearing smart glasses can view real-time seat availability information on a display within their field of vision. As users walk around town, seat availability information for nearby restaurants is automatically displayed. To make a reservation, users can select the desired seat within their field of vision and press the reservation button to instantly secure a seat.
[0172] Hardware and Software Used
[0173] The server uses a high-performance database management system (e.g., MySQL, PostgreSQL) and API server (e.g., Node.js, Express). The cash register system consists of a cash register terminal and a computer with dedicated software installed. The user's terminal uses a smartphone application (e.g., React Native, Swift). An application developed using React Native is installed on the smart glasses.
[0174] Specific examples
[0175] While walking around town, a user wearing smart glasses will see information about available seats at nearby restaurants. Through the glasses, users can check the current seat availability, select the seat they want, and make a reservation. The server instantly updates the information, providing other users with the latest seat availability information.
[0176] Prompt Sentence Examples
[0177] The following code uses smart glasses to retrieve seat availability information for nearby restaurants, display it in real time, and make reservations. It is implemented using React Native. Please also include an explanation of the API communication section.
[0178] javascript
[0179] import React, { useState, useEffect} from 'react';
[0180] import { View, Text, Button} from 'react-native';
[0181] import { getFreeSeats, reserveSeat} from '. / api';
[0182] const SmartGlassesApp = () => {
[0183] const [seatData, setSeatData] = useState([]);
[0184] const [selectedSeat, setSelectedSeat] = useState(null);
[0185] / / Continued below...
[0186] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0187] Step 1:
[0188] User submission
[0189] A user puts on smart glasses and intends to check seat availability. The smart glasses application is launched and acquires current location information. This location information is sent to the server, and a request for nearby restaurant information is generated.
[0190] Input: Smart glasses location information
[0191] Output: A request for restaurant information
[0192] Step 2:
[0193] Server Response
[0194] After receiving the location information from the user, the server retrieves a list of nearby restaurants from the database, retrieves the current seat availability information for each restaurant from the database, and generates a response to send back to the user.
[0195] Input: User's location
[0196] Output: A list of nearby restaurants and their availability information
[0197] Step 3:
[0198] User's screen display
[0199] The application displayed on the smart glasses overlays information in the user's field of view based on a list of nearby restaurants and seat availability information received from the server. The user interface is designed to allow the user to check which restaurants they are interested in.
[0200] Input: List of nearby restaurants and seat availability information from the server
[0201] Output: Overlay information displayed in the user's field of view
[0202] Step 4:
[0203] User Reservation
[0204] The user selects the desired restaurant and seat within the field of view and confirms it. The smart glasses application then sends the information to the server and generates a request to reserve the selected seat.
[0205] Input: User selection information (restaurant and seat)
[0206] Output: A request to reserve the selected seat.
[0207] Step 5:
[0208] Server reservation process
[0209] The server receives a reservation request from the user, updates the seat information in the database, changes the status of the relevant seat to "reserved," and sends the result of this status change to the user as a response.
[0210] Input: Booking request from user
[0211] Output: Reservation status update result (success or failure)
[0212] Step 6:
[0213] Prompt the user
[0214] The user will see the response displayed on the smart glasses to know if the reservation was successful or not. If successful, the reservation details will be displayed in the field of view, and if not, the user will be presented with the option to try again.
[0215] Input: Reservation status update result from the server
[0216] Output: Display of reservation details or retry options
[0217] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0218] This invention combines a system that manages restaurant vacancy information in real time with an emotion engine that recognizes user emotions, enabling users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), a user terminal, and the emotion engine.
[0219] server
[0220] Server Role:
[0221] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. Its job is to obtain and update seat availability information in real time. It also manages reservation information and returns appropriate responses. The server periodically updates the database to ensure that seat availability is reflected immediately.
[0222] Terminal (cash register system)
[0223] Device role:
[0224] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. Also, if a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[0225] User's device
[0226] User's device role:
[0227] Users use devices such as smartphones and tablets to obtain seat availability information through the application. They can then make reservations in real time based on the seat availability information. When a user presses the "Check Seat Availability" button on the application, the device sends a request to the server, which returns the current seat availability information. When a user selects the desired seat and presses the "Reserve" button, the seat status is updated to "Reserved," and other users will no longer be able to reserve that seat.
[0228] Emotion Engine
[0229] The role of the Emotion Engine:
[0230] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the emotion at that time. When the user checks available seating information or makes a reservation, the emotion engine makes suggestions based on that emotion. For example, if the user is feeling stressed, it can suggest a quiet seat.
[0231] Specific examples
[0232] 1. When a user checks availability:
[0233] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed based on their facial expressions and history, and prioritizes quieter seats.
[0234] 2. When a user reserves a seat:
[0235] When a user selects a desired seat and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete. The user's device then displays a message indicating that the reservation was successful. The information about the seat reserved by the user is also immediately updated in the cash register system.
[0236] 3. Leveraging the Emotion Engine:
[0237] When a user checks for available seats, the emotion engine grasps the user's emotional state on that day. For example, if the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction.
[0238] Summary
[0239] This system allows restaurants to reduce vacant seats and efficiently manage reservations, while allowing users to find vacant seats without wasting time and reserve a comfortable seat. Furthermore, the emotion engine grasps the user's emotional state and makes corresponding suggestions, improving user satisfaction and providing great convenience to both restaurants and customers. This system builds a new relationship between restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, managing reservation information, and making suggestions based on emotion recognition.
[0240] The processing flow will be explained below.
[0241] Step 1: User presses Check Availability button
[0242] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0243] Step 2: The server receives the request and retrieves the available seat information.
[0244] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0245] Step 3: The server sends the vacant seat information to the user's device.
[0246] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0247] Step 4: The emotion engine recognizes the user's emotion
[0248] The emotion engine installed on the user's device recognizes the user's current emotional state from their facial expressions, voice, and operation history. The results of this recognition are used to provide and suggest vacant seat information.
[0249] Step 5: The user's device provides seat availability information based on their emotions.
[0250] Based on the user's emotions recognized by the emotion engine, the user's device adjusts the display order and content of available seat information. For example, if the user is feeling stressed, quiet seats will be displayed first.
[0251] Step 6: User selects the desired seat and presses the "Reserve" button
[0252] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[0253] Step 7: The server receives the request and checks the seat status
[0254] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[0255] Step 8: The server updates the seat status to "reserved"
[0256] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[0257] Step 9: Display a successful reservation notification on the user's device
[0258] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[0259] Step 10: The cashier system periodically requests seat availability information from the server
[0260] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[0261] Step 11: The server sends the latest seat availability information to the terminal.
[0262] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[0263] Step 12: The cashier system updates the in-store displays
[0264] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[0265] Step 13: Change the seat status to "occupied" when the staff arrives
[0266] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[0267] Step 14: Server updates seat status to "in use"
[0268] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[0269] Example 2
[0270] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0271] In the service industry, such as restaurants, there is a need to manage seat availability information in real time and provide it to customers efficiently. In addition, it is necessary to improve customer satisfaction by suggesting seats according to the user's emotional state, but current systems do not adequately address this issue.
[0272] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for acquiring current vacant seat information in real time, a means for updating the seat status based on the acquired vacant seat information, a means for providing the vacant seat information to the user's terminal, a means for managing the acquired vacant seat information and reservation information, a means for displaying the seat layout and updating the seat status in the cash register system, and a means for analyzing the user's emotions and suggesting an appropriate seat according to the user's emotional state. This allows the user to efficiently find an vacant seat and receive suggestions according to the user's emotional state at the time.
[0273] "Means for obtaining current vacant seat information in real time" is a function that allows the server to collect vacant seat information of the store from the database at any time and update it immediately.
[0274] The "means for updating the seat status based on the acquired vacant seat information" is a function that uses the vacant seat information collected by the server to update the seat usage status to the latest state.
[0275] The "means for providing vacant seat information to a user's terminal" is a function that enables a server to send vacant seat information to a terminal such as a user's smartphone or tablet.
[0276] The "means for managing acquired vacant seat information and reservation information" is a function by which the server centrally records and manages vacant seat information and user reservation information.
[0277] "Means for displaying seating layout and updating seating status in the cash register system" refers to a function that enables the terminal (cash register system) to display the seating arrangement within the store and allows store staff to update seating status in real time.
[0278] "Means for analyzing the user's emotions and suggesting an appropriate seat based on their emotional state" refers to a function in which the emotion engine analyzes the user's facial expressions, voice, and operation history, and suggests an appropriate seat for the user based on their emotional state.
[0279] This invention relates to a system that manages information on available seats in restaurants in real time and suggests appropriate seats depending on the user's emotional state. The system is composed of a server, a terminal (cash register system), a user terminal, and an emotion engine.
[0280] Server configuration and functions
[0281] The server has a database that manages seating information for each store. The server is implemented using the Python Flask framework, and the database uses MySQL. The server provides API endpoints that process requests from user devices and store cash register systems. For example, there is an endpoint for obtaining vacant seat information and an endpoint for sending reservation information. The server has the function of obtaining vacant seat information in real time and periodically updating the database to immediately reflect vacant seating status.
[0282] Terminal (cash register system) configuration and functions
[0283] The terminal (cash register system) retrieves the latest seating information sent from the server and displays it on a display in the store. The terminal (cash register system) is a cash register terminal equipped with the Windows OS, and uses HTML and JavaScript to display seating information. When a store clerk wants to change the seat status, the terminal (cash register system) sends the operation information to the server, which updates the database on the server side. This allows the cash register system's layout screen to be updated in real time, allowing store clerks to grasp the latest seat availability.
[0284] User device configuration and functions
[0285] The user's device is a smartphone or tablet running iOS or Android. When a user opens the application and presses the "Check Seat Availability" button, the device sends a request to the server, which retrieves available seat information via the API endpoint and sends it back to the user's device. When the user selects the seat they want and presses the "Reserve" button, that information is sent to the server, which updates the database and changes the seat status to "Reserved." The application is built with React Native, and communication with the server uses the axios library.
[0286] Emotion engine structure and functions
[0287] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the user's emotional state. The emotion engine uses TensorFlow to analyze emotions and feeds the results back to the application. For example, if the emotion engine recognizes that the user is feeling stressed, the app will prioritize quiet seats.
[0288] Specific examples
[0289] 1. When a user checks availability
[0290] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed from their facial expressions and history, and prioritizes suggesting quieter seats. An example of a specific prompt is, "Please indicate what type of seat you would suggest when the user is feeling stressed."
[0291] 2. When a user reserves a seat
[0292] When a user selects the seat they want and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete, and the user's device displays a message notifying them that the reservation was successful. The information about the seat reserved by the user is also immediately reflected in the cash register system. An example of a specific prompt sentence is, "Please explain the process a user goes through to reserve a seat."
[0293] 3. Utilizing the Emotion Engine
[0294] The emotion engine grasps the user's emotional state on the day when the user checks for available seats. If the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction. An example of a specific prompt sentence is, "Please show how to use the emotion engine to suggest seats that match the user's emotions."
[0295] This allows the user to efficiently find available seats and make reservations in real time, and also uses an emotion engine to suggest the most suitable seat based on the user's emotional state at the time, thereby improving user satisfaction and providing great convenience to both the restaurant and the customer.
[0296] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0297] Step 1:
[0298] Server database update
[0299] The server periodically retrieves vacant seat information for each store and updates the database. The server is built with the Python Flask framework and uses MySQL as the database.
[0300] Input: Vacancy information for each store
[0301] Data processing: The server analyzes the entered vacancy information and updates it in the MySQL database.
[0302] Output: Updated database
[0303] Specific operation: The server periodically retrieves vacant seat information and runs a cron job to update the store_seats table in the MySQL database.
[0304] Step 2:
[0305] User availability request
[0306] The user opens the smartphone app and presses the "Check Availability" button. The user's device sends an API request to the server.
[0307] Input: User's availability request
[0308] Data processing: The terminal encodes the user's request and sends it to the server.
[0309] Output: API request to the server
[0310] What happens: A React Native app sends a request to the / getAvailableSeats API endpoint using axios.
[0311] Step 3:
[0312] Server availability information
[0313] The server receives the API request, retrieves the current seat availability information from the database, and returns the retrieved data to the user's device.
[0314] Input: User's API request
[0315] Data processing: The server decodes the request and uses an SQL query to retrieve the required seat availability information from the database.
[0316] Output: Seat availability information to user terminal
[0317] Specific operation: The server executes a query such as SELECT FROM store_seats WHERE status='available' and returns the retrieved data to the user device in JSON format.
[0318] Step 4:
[0319] Display user availability information
[0320] The available seat information is returned to the user's device and displayed within the application. The emotion engine analyzes the user's emotional state and suggests suitable seats.
[0321] Input: Vacancy information from the server
[0322] Data processing: The user device parses the received JSON data and formats it for display. The emotion engine also generates the analysis results.
[0323] Output: Displayed seat availability and seat suggestions
[0324] Specific operation: JavaScript is used to display available seat information on the application UI, and TensorFlow is used by the emotion engine to analyze the user's emotions and suggest appropriate seats.
[0325] Step 5:
[0326] User seat reservation request
[0327] The user selects the seat they want and presses the "Reserve" button. The terminal sends the reservation information to the server.
[0328] Input: User's booking request
[0329] Data processing: The terminal encodes the reservation information and sends it to the server.
[0330] Output: Reservation request to the server
[0331] What it does: It uses the axios library to send a POST request containing the reservation information to the server's / reserveSeatAPI endpoint.
[0332] Step 6:
[0333] Update server reservation information
[0334] The server receives the reservation information, updates the database, changes the status of the seat to "reserved," and sends a reservation completion message to the user's device.
[0335] Input: User's booking request
[0336] Data processing: The server decodes the request data and updates the database using an SQL query.
[0337] Output: Reservation completion message to user terminal
[0338] Specific operation: Executes an SQL query (e.g. UPDATE store_seats SET status='reserved' WHERE seat_id=?) and returns a JSON message to the user device indicating that the reservation was successful.
[0339] Step 7:
[0340] Update of cash register system
[0341] The cash register system receives the reservation completion data from the server and updates the seat layout and status.
[0342] Input: Reservation completion data from the server
[0343] Data processing: The cash register system analyzes the acquired data and updates the display contents.
[0344] Output: Updated layout view
[0345] Specific operation: The layout is updated in real time using JavaScript and reflected on the screen.
[0346] Through these processing steps, the system allows users to efficiently find available seats, receive suggestions based on their emotional state, and make reservations in real time.
[0347] (Application example 2)
[0348] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0349] Conventional restaurant seating management systems are often limited to simply providing seating information and reservation functions without considering user emotions. As a result, when a user is feeling stressed or looking to relax, they are unable to provide the optimal seating that reflects that emotion. Furthermore, there is no way for users to intuitively check seating information without visiting the restaurant. This has led to issues such as reduced user satisfaction.
[0350] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0351] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, means for recognizing emotions by analyzing a user's facial expression or voice, and means for suggesting an optimal seat based on the user's emotions. This allows a user to use smart glasses to intuitively check vacant seat information, find an optimal seat based on their emotions at the time, and make a reservation.
[0352] "Vacant seat information" is data indicating the status of currently available seats in a restaurant.
[0353] "Real-time" refers to information and data that is updated without delay to reflect current conditions.
[0354] A "user device" refers to a portable electronic device used by a user, such as a smartphone, tablet, or smart glasses.
[0355] "Emotion recognition" is a technology that analyzes input data such as a user's facial expressions and voice to identify their emotional state at that time.
[0356] The "optimal seat" is a seat that is determined to be comfortable based on the user's current feelings and needs.
[0357] "Layout" refers to a diagram showing the arrangement of seats and equipment within the store.
[0358] "Reservation information" is information for reserving a seat desired by a user in advance.
[0359] A "cash register system" is a computer system used to manage accounting and reservations within a store.
[0360] A "server" refers to a computer system that provides data or services in response to requests from other computers (clients).
[0361] This invention provides a system that manages vacant seat information in restaurants in real time, recognizes the user's emotions, and suggests the most suitable seat. As an application example, we will explain a specific form for realizing a smart glasses application for brick-and-mortar stores.
[0362] System Configuration
[0363] server
[0364] The server has a database that manages seating information for each restaurant. The server communicates with the store's cash register system and the user's device to obtain, update, and provide seat availability information in real time. It also suggests seats based on the user's emotional state through an emotion recognition engine. The server periodically updates the database so that seat availability is reflected immediately.
[0365] Terminal (cash register system)
[0366] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. When a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[0367] User's device (smart glasses)
[0368] Users can wear smart glasses and obtain real-time seat availability information. The smart glasses' camera captures the user's facial expressions, and an emotion recognition engine analyzes the data. Based on the recognized emotional state, the system prioritizes and suggests the most suitable seats.
[0369] emotion recognition
[0370] The emotion engine analyzes input data such as the user's facial expressions and voice to identify their emotional state at the time. For example, if the user is feeling stressed, it will prioritize quiet seats. This process uses facial recognition and natural language processing technologies.
[0371] Data exchange
[0372] The server provides a REST API (for example, using the requests.get method) and, when a request is made from the user's device, retrieves and returns the latest available seat information. Once the user's facial expression is captured and their emotional state is recognized, the results are sent to the server, which then combines them with the available seat information database to suggest the best seat.
[0373] Specific examples
[0374] The user puts on the smart glasses and their facial image is captured by the camera. The emotion engine analyzes the image and recognizes that the user is tired. The smart glasses display shows "Quiet Seats," and the user can complete the reservation by saying "Reserve this seat" using the voice command.
[0375] Prompt Sentence Examples
[0376] Call the seat availability information API and suggest the best seat based on the user's emotion. The user's facial expression image is provided and analyzed by the emotion engine. If the emotion is recognized as "tired," suggest a "quiet seat."
[0377] This allows users to understand specific embodiments for realizing the invention. Furthermore, by using this system, users can easily find the best seats, and restaurants can efficiently manage seats.
[0378] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0379] Step 1:
[0380] The server obtains vacant seat information. It obtains the current seat availability status from the vacant seat information database in real time and updates it. The input is the current seat information in the database, and the output is the latest vacant seat information. This process is performed periodically within the server.
[0381] Step 2:
[0382] The user's device (smart glasses) uses a camera to capture the user's facial image. The input is the facial image taken by the camera, and the output is the captured image data. This image data is passed to the emotion recognition engine.
[0383] Step 3:
[0384] An emotion recognition engine installed on the user's device analyzes facial images to identify emotional states. The input is the captured facial image data, and the output is the recognized emotional state (e.g., tired, wanting to relax, etc.). For emotion recognition, facial feature points are extracted and input into an emotion classification model.
[0385] Step 4:
[0386] Based on the output of the emotion recognition engine, the user's device sends a request to the server to obtain the latest seat availability information. The input is the recognized emotional state and request parameters, and the output is real-time seat availability information. The request is made using the server's REST API.
[0387] Step 5:
[0388] The server receives the request and provides the latest vacant seat information by referencing the vacant seat information database. At the same time, it also generates data to suggest the best seat based on the user's emotional state. The input is the user's emotional state and vacant seat information, and the output is vacant seat information with the best seat suggestion.
[0389] Step 6:
[0390] The user's device receives vacant seat information from the server and displays it on the smart glasses' display. The input is vacant seat information with optimal seat suggestions from the server, and the output is the information displayed on the display. The smart glasses use AR technology to overlay the vacant seat information on the actual store layout.
[0391] Step 7:
[0392] The user checks the best seat through the smart glasses and makes a reservation by voice command. The input is visual information (available seat information) and voice command, and the output is a reservation request. A voice recognition system is used to interpret the user's command.
[0393] Step 8:
[0394] Finally, the server receives the reservation request and updates the reservation database. The input is the reservation request from the user, and the output is the updated reservation information. The server returns a reservation completion message to the user's terminal.
[0395] This allows users to easily find a comfortable seat using the smart glasses, and also enables restaurants to efficiently manage available seats.
[0396] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0397] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0398] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0399] [Second embodiment]
[0400] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0401] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0402] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0403] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0404] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0405] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0406] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0407] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0408] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0409] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0410] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0411] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0412] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), and a user terminal.
[0413] server
[0414] Server Role:
[0415] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. The server has the function of retrieving and updating seat availability information in real time. It also manages reservation information and returns appropriate responses. Specifically, the server updates the database regularly to ensure that seat availability is reflected immediately.
[0416] Terminal (cash register system)
[0417] Device role:
[0418] The cash register system in the store receives the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seating status, the cash register system sends that information to the server. This updates the layout screen in real time, allowing the store clerk to understand the current seat availability.
[0419] Examples:
[0420] For example, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. Also, when a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0421] User's device
[0422] User's device role:
[0423] Users use devices such as smartphones and tablets to obtain vacant seat information through the application. They can then make reservations in real time based on the vacant seat information. Specifically, when a user presses the "Check vacant seat" button on the application, the device sends a request to the server, which returns the current vacant seat status. When the user selects the desired seat and presses the "Reserve" button, that information is sent to the server, the seat status changes to "Reserved," and other users are prevented from reserving that seat.
[0424] Examples:
[0425] For example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users.
[0426] Summary
[0427] This system allows restaurants to efficiently manage reservations so as not to leave empty seats, and allows users to find vacant seats without wasting time. In addition, by linking the cash register system and the user's smartphone app in real time via a server, the latest information is always shared, preventing problems before they occur. This system provides great convenience to both restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, and managing reservation information.
[0428] The processing flow will be explained below.
[0429] Step 1: User presses Check Availability button
[0430] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0431] Step 2: The server receives the request and retrieves the available seat information.
[0432] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0433] Step 3: The server sends the vacant seat information to the user's device.
[0434] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0435] Step 4: The user selects the seat they want to reserve and presses the "Reserve" button.
[0436] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[0437] Step 5: The server receives the request and checks the seat status
[0438] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[0439] Step 6: The server updates the seat status to "reserved"
[0440] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[0441] Step 7: Display a successful reservation notification on the user's device
[0442] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[0443] Step 8: The cashier system periodically requests seat availability information from the server
[0444] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[0445] Step 9: The server sends the latest seat availability information to the terminal.
[0446] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[0447] Step 10: The cash register system updates in-store displays
[0448] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[0449] Step 11: Change the seat status to "occupied" when the staff arrives
[0450] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[0451] Step 12: The server updates the seat status to "in use"
[0452] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[0453] Example 1
[0454] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0455] In the current restaurant industry, the management of vacant seating information differs from establishment to establishment, making it difficult to share information in real time. This means that users are unable to obtain accurate vacant seating information when making reservations, and restaurants have to work hard to manage reservations. In addition, because staff manually update seating status, errors are likely to occur, which can impair user convenience. To solve these problems, a system that can manage and share vacant seating information in an integrated manner in real time is needed.
[0456] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0457] In this invention, the server includes: a means for a user to obtain vacant seat information through an application using a device such as a smartphone or tablet; a means for the server to have a database that manages seat information for each store and provide an API endpoint for processing requests from the user's device and the store's cash register system; a means for the server to obtain and update vacant seat information in real time; a means for the server to manage reservation information and return an appropriate response; a means for the server to periodically update the database so that vacant seat status is reflected immediately; a means for the in-store cash register system to obtain the latest seat information sent from the server and display it on an in-store display; and a means for the cash register system to send information to the server when a store clerk wants to change the seat status. This enables real-time acquisition and management of vacant seat information both inside and outside the store, improving user convenience and potentially significantly improving store management efficiency.
[0458] "User terminal" refers to a mobile device such as a smartphone or tablet used by a user, through which seat availability information can be obtained and reservations can be made.
[0459] A "server" is a computer system that manages and processes data, and in the present invention is a system that has a database that manages seating information for each store and provides an API end point.
[0460] An "application" is software that users install on devices such as smartphones and tablets, and is a program through which they can check available seating information and make reservations.
[0461] An "API endpoint" is an interface through which a server receives requests from a user's terminal and a store's cash register system and provides data in response.
[0462] "Vacant seat information" is status information indicating whether seats are available at a restaurant or other establishment, and is data that is acquired and updated in real time.
[0463] A "database" is a system for structuring and storing seating information and reservation information for each store, allowing for quick and accurate data acquisition and updating.
[0464] The "cash register system" is a computer system used within a store that has the function of acquiring the latest seating information sent from a server and displaying it on a display within the store.
[0465] The "in-store display" is a display device installed inside the store, and is a device for displaying vacant seat information obtained through the cash register system in real time.
[0466] "Reservation information" is information that allows a user to reserve a specific seat at a specific date and time, and is data that is managed and updated by the server.
[0467] MODE FOR CARRYING OUT THE INVENTION
[0468] This invention is a system for managing vacant seat information of restaurants in real time, enabling users to efficiently find and reserve vacant seats. An embodiment of this system will be described in detail below.
[0469] server
[0470] The server has a database that manages seating information for each restaurant. Database management systems (DBMS) used include MySQL and PostgreSQL. The server provides a RESTful API endpoint to process requests from user devices and the restaurant's cash register system. This API endpoint is built using a web framework such as Node.js or Django.
[0471] Specifically, the server receives seating information from the store's cash register system every five minutes and updates the database. When a user requests seat availability information through a smartphone application, the server returns a response based on the latest data. The server also manages reservation information and returns appropriate responses. This makes it possible to obtain and manage seat availability information in real time both inside and outside the store.
[0472] Terminal (cash register system)
[0473] The cash register system is built using Python and Java, and retrieves the latest seating information sent from the server and displays it on a display in the store. When a store clerk wants to change the seating status, they send this information to the server. This updates the layout screen in real time, allowing the store clerk to see the current seat availability.
[0474] Specifically, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. When a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0475] User's device
[0476] Users can obtain information about available seats via the application using devices such as smartphones and tablets. The application was developed using React Native and Flutter, and by pressing the "Check Availability" button within the app, a request is sent to the server and the latest available seat information is obtained. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, and the server updates the seat status to "Reserved."
[0477] As a concrete example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability of seats in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users. This improves user convenience and significantly improves store management efficiency.
[0478] Prompt Sentence Examples
[0479] "Please explain how the system for managing restaurant seat availability in real time works. In particular, please explain in detail the data communication between the user's device and the server."
[0480] Through this invention, it is possible to provide a system that is highly convenient for both stores and customers, and to realize efficient management of vacant seats.
[0481] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0482] Step 1:
[0483] The server initializes the database
[0484] The server sets up a database to manage seating information for each store. Specifically, a database management system such as MySQL or PostgreSQL is used to create a new table and store seating information and reservation information.
[0485] Input: None (default setting)
[0486] Output: Database table (seat information, reservation information)
[0487] Step 2:
[0488] The server provides an API endpoint
[0489] The server sets up a RESTful API endpoint to receive requests from users and the cash register system. Using Node.js or Django, we create an endpoint that processes GET and POST requests.
[0490] Input: None (default setting)
[0491] Output: API endpoint
[0492] Step 3:
[0493] The cashier system requests seat information from the server
[0494] The terminal (cash register system) sends an HTTP GET request to the server every 5 minutes to obtain the latest seating information.
[0495] Input: HTTP GET request
[0496] Output: Latest seat information (JSON format)
[0497] Step 4:
[0498] The cash register system updates in-store displays
[0499] The cash register system uses the latest seating information to update the display in the store, using HTML / CSS and JavaFX.
[0500] Input: Latest seat information
[0501] Output: Update display (displays seat availability information)
[0502] Step 5:
[0503] The staff changes the seating status
[0504] If a waiter wants to change the seat status to "occupied" or "reserved," he or she enters that information into the cash register system and sends a change request to the server.
[0505] Input: Seat status change request (HTTP POST request)
[0506] Output: Update the server database
[0507] Step 6:
[0508] The user retrieves vacant seat information through the application.
[0509] The user launches the application on their smartphone or tablet and presses the "Check Seat Availability" button to send an HTTP GET request to the server, which then returns a response based on the latest seat information.
[0510] Input: Seat availability request (HTTP GET request)
[0511] Output: Latest seat information (JSON format)
[0512] Step 7:
[0513] The user reserves the desired seat
[0514] When the user selects the desired seat and presses the "Reserve" button, the application sends an HTTP POST request to the server with the reservation information, which then updates the database and changes the seat status to "Reserved."
[0515] Input: Reservation request (HTTP POST request)
[0516] Output: Seat information update (reserved)
[0517] Step 8:
[0518] The server reflects the reservation information to other users.
[0519] The server will then return the latest information to other users in response to their seat availability requests based on the updated information in the database, thereby preventing other users from re-reserving seats that have already been reserved.
[0520] Input: Database update information
[0521] Output: Response with latest availability information
[0522] This series of processes allows users to efficiently find and reserve vacant seats, and stores to manage vacant seat information in real time.
[0523] (Application example 1)
[0524] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0525] Conventional restaurant vacancy management systems often prevent users from checking seat availability until they arrive at the restaurant, resulting in wasted time and the possibility of arriving at the restaurant only to find that all seats are taken. Furthermore, the systems lack the real-time and visibility required for users to check seat availability information and make reservations. Furthermore, there are limited ways to visually and intuitively check seat availability information, creating a need for an improved user experience.
[0526] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0527] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing the vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, and means for displaying vacant seat information on smart glasses so that a user can check vacant seats within their field of view and make reservations. This allows a user to use the smart glasses to check vacant seat information at nearby restaurants in real time while on the town and make instant reservations.
[0528] "Means for obtaining current seat availability information in real time" refers to equipment or software that instantly obtains seat availability information within a restaurant and collects it as data.
[0529] "Means for updating seat status based on acquired vacant seat information" refers to equipment or software that automatically updates and reflects seat usage status based on the latest vacant seat information collected on the server.
[0530] "Means for providing seat availability information to a user's device" refers to equipment or software for sending and displaying the latest seat availability information to a device owned by the user, such as a smartphone or tablet.
[0531] "Means for managing acquired seat availability information and reservation information" refers to equipment or software that centrally manages seat availability information and reservation information acquired by the server, and updates and stores this data as necessary.
[0532] "Means for displaying seating layout and updating seating status in the cash register system" refers to equipment and software that enables the cash register system in a store to visually display the current seating arrangement and usage status, and instantly reflects changes to seating status made by store staff.
[0533] "A means for displaying seat availability information on smart glasses, allowing users to check seat availability within their field of vision and make reservations" refers to equipment or software that displays seat availability information in real time on a smart device worn by a user (e.g., smart glasses), allowing users to check the information within their field of vision and make reservations through operation.
[0534] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. Specifically, this system consists of a server, a terminal (cash register system), a user terminal, and smart glasses.
[0535] server
[0536] Server Roles
[0537] The server has a database that manages seating information for each restaurant, and has the ability to retrieve and update seat availability and reservation information in real time. It also provides an API endpoint to process requests from user devices and in-store cash register systems. The server periodically updates the database so that seat availability is reflected immediately.
[0538] Terminal (cash register system)
[0539] Device Role
[0540] The store's cash register system retrieves the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seat status, that information is sent to the server and the seat status is updated in real time. This ensures that the current seat availability is always accurately managed and prevents other users from accidentally reserving the seat.
[0541] User's device
[0542] User device role
[0543] Users can obtain seat availability information through the application using devices such as smartphones and tablets. When they open the application and press the "Check Seat Availability" button, the device sends a request to the server, which displays the current seat availability. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, the seat status changes to "Reserved," and other users cannot reserve that seat.
[0544] Smart Glasses
[0545] The role of smart glasses
[0546] Users wearing smart glasses can view real-time seat availability information on a display within their field of vision. As users walk around town, seat availability information for nearby restaurants is automatically displayed. To make a reservation, users can select the desired seat within their field of vision and press the reservation button to instantly secure a seat.
[0547] Hardware and Software Used
[0548] The server uses a high-performance database management system (e.g., MySQL, PostgreSQL) and API server (e.g., Node.js, Express). The cash register system consists of a cash register terminal and a computer with dedicated software installed. The user's terminal uses a smartphone application (e.g., React Native, Swift). An application developed using React Native is installed on the smart glasses.
[0549] Specific examples
[0550] While walking around town, a user wearing smart glasses will see information about available seats at nearby restaurants. Through the glasses, users can check the current seat availability, select the seat they want, and make a reservation. The server instantly updates the information, providing other users with the latest seat availability information.
[0551] Prompt Sentence Examples
[0552] The following code uses smart glasses to retrieve seat availability information for nearby restaurants, display it in real time, and make reservations. It is implemented using React Native. Please also include an explanation of the API communication section.
[0553] javascript
[0554] import React, { useState, useEffect} from 'react';
[0555] import { View, Text, Button} from 'react-native';
[0556] import { getFreeSeats, reserveSeat} from '. / api';
[0557] const SmartGlassesApp = () => {
[0558] const [seatData, setSeatData] = useState([]);
[0559] const [selectedSeat, setSelectedSeat] = useState(null);
[0560] / / Continued below...
[0561] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0562] Step 1:
[0563] User submission
[0564] A user puts on smart glasses and intends to check seat availability. The smart glasses application is launched and acquires current location information. This location information is sent to the server, and a request for nearby restaurant information is generated.
[0565] Input: Smart glasses location information
[0566] Output: A request for restaurant information
[0567] Step 2:
[0568] Server Response
[0569] After receiving the location information from the user, the server retrieves a list of nearby restaurants from the database, retrieves the current seat availability information for each restaurant from the database, and generates a response to send back to the user.
[0570] Input: User's location
[0571] Output: A list of nearby restaurants and their availability information
[0572] Step 3:
[0573] User's screen display
[0574] The application displayed on the smart glasses overlays information in the user's field of view based on a list of nearby restaurants and seat availability information received from the server. The user interface is designed to allow the user to check which restaurants they are interested in.
[0575] Input: List of nearby restaurants and seat availability information from the server
[0576] Output: Overlay information displayed in the user's field of view
[0577] Step 4:
[0578] User Reservation
[0579] The user selects the desired restaurant and seat within the field of view and confirms it. The smart glasses application then sends the information to the server and generates a request to reserve the selected seat.
[0580] Input: User selection information (restaurant and seat)
[0581] Output: A request to reserve the selected seat.
[0582] Step 5:
[0583] Server reservation process
[0584] The server receives a reservation request from the user, updates the seat information in the database, changes the status of the relevant seat to "reserved," and sends the result of this status change to the user as a response.
[0585] Input: Booking request from user
[0586] Output: Reservation status update result (success or failure)
[0587] Step 6:
[0588] Prompt the user
[0589] The user will see the response displayed on the smart glasses to know if the reservation was successful or not. If successful, the reservation details will be displayed in the field of view, and if not, the user will be presented with the option to try again.
[0590] Input: Reservation status update result from the server
[0591] Output: Display of reservation details or retry options
[0592] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0593] This invention combines a system that manages restaurant vacancy information in real time with an emotion engine that recognizes user emotions, enabling users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), a user terminal, and the emotion engine.
[0594] server
[0595] Server Role:
[0596] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. Its job is to obtain and update seat availability information in real time. It also manages reservation information and returns appropriate responses. The server periodically updates the database to ensure that seat availability is reflected immediately.
[0597] Terminal (cash register system)
[0598] Device role:
[0599] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. Also, if a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[0600] User's device
[0601] User's device role:
[0602] Users use devices such as smartphones and tablets to obtain seat availability information through the application. They can then make reservations in real time based on the seat availability information. When a user presses the "Check Seat Availability" button on the application, the device sends a request to the server, which returns the current seat availability information. When a user selects the desired seat and presses the "Reserve" button, the seat status is updated to "Reserved," and other users will no longer be able to reserve that seat.
[0603] Emotion Engine
[0604] The role of the Emotion Engine:
[0605] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the emotion at that time. When the user checks available seating information or makes a reservation, the emotion engine makes suggestions based on that emotion. For example, if the user is feeling stressed, it can suggest a quiet seat.
[0606] Specific examples
[0607] 1. When a user checks availability:
[0608] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed based on their facial expressions and history, and prioritizes quieter seats.
[0609] 2. When a user reserves a seat:
[0610] When a user selects a desired seat and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete. The user's device then displays a message indicating that the reservation was successful. The information about the seat reserved by the user is also immediately updated in the cash register system.
[0611] 3. Leveraging the Emotion Engine:
[0612] When a user checks for available seats, the emotion engine grasps the user's emotional state on that day. For example, if the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction.
[0613] Summary
[0614] This system allows restaurants to reduce vacant seats and efficiently manage reservations, while allowing users to find vacant seats without wasting time and reserve a comfortable seat. Furthermore, the emotion engine grasps the user's emotional state and makes corresponding suggestions, improving user satisfaction and providing great convenience to both restaurants and customers. This system builds a new relationship between restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, managing reservation information, and making suggestions based on emotion recognition.
[0615] The processing flow will be explained below.
[0616] Step 1: User presses Check Availability button
[0617] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0618] Step 2: The server receives the request and retrieves the available seat information.
[0619] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0620] Step 3: The server sends the vacant seat information to the user's device.
[0621] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0622] Step 4: The emotion engine recognizes the user's emotion
[0623] The emotion engine installed on the user's device recognizes the user's current emotional state from their facial expressions, voice, and operation history. The results of this recognition are used to provide and suggest vacant seat information.
[0624] Step 5: The user's device provides seat availability information based on their emotions.
[0625] Based on the user's emotions recognized by the emotion engine, the user's device adjusts the display order and content of available seat information. For example, if the user is feeling stressed, quiet seats will be displayed first.
[0626] Step 6: User selects the desired seat and presses the "Reserve" button
[0627] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[0628] Step 7: The server receives the request and checks the seat status
[0629] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[0630] Step 8: The server updates the seat status to "reserved"
[0631] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[0632] Step 9: Display a successful reservation notification on the user's device
[0633] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[0634] Step 10: The cashier system periodically requests seat availability information from the server
[0635] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[0636] Step 11: The server sends the latest seat availability information to the terminal.
[0637] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[0638] Step 12: The cashier system updates the in-store displays
[0639] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[0640] Step 13: Change the seat status to "occupied" when the staff arrives
[0641] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[0642] Step 14: Server updates seat status to "in use"
[0643] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[0644] Example 2
[0645] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0646] In the service industry, such as restaurants, there is a need to manage seat availability information in real time and provide it to customers efficiently. In addition, it is necessary to improve customer satisfaction by suggesting seats according to the user's emotional state, but current systems do not adequately address this issue.
[0647] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for acquiring current vacant seat information in real time, a means for updating the seat status based on the acquired vacant seat information, a means for providing the vacant seat information to the user's terminal, a means for managing the acquired vacant seat information and reservation information, a means for displaying the seat layout and updating the seat status in the cash register system, and a means for analyzing the user's emotions and suggesting an appropriate seat according to the user's emotional state. This allows the user to efficiently find an vacant seat and receive suggestions according to the user's emotional state at the time.
[0648] "Means for obtaining current vacant seat information in real time" is a function that allows the server to collect vacant seat information of the store from the database at any time and update it immediately.
[0649] The "means for updating the seat status based on the acquired vacant seat information" is a function that uses the vacant seat information collected by the server to update the seat usage status to the latest state.
[0650] The "means for providing vacant seat information to a user's terminal" is a function that enables a server to send vacant seat information to a terminal such as a user's smartphone or tablet.
[0651] The "means for managing acquired vacant seat information and reservation information" is a function by which the server centrally records and manages vacant seat information and user reservation information.
[0652] "Means for displaying seating layout and updating seating status in the cash register system" refers to a function that enables the terminal (cash register system) to display the seating arrangement within the store and allows store staff to update seating status in real time.
[0653] "Means for analyzing the user's emotions and suggesting an appropriate seat based on their emotional state" refers to a function in which the emotion engine analyzes the user's facial expressions, voice, and operation history, and suggests an appropriate seat for the user based on their emotional state.
[0654] This invention relates to a system that manages information on available seats in restaurants in real time and suggests appropriate seats depending on the user's emotional state. The system is composed of a server, a terminal (cash register system), a user terminal, and an emotion engine.
[0655] Server configuration and functions
[0656] The server has a database that manages seating information for each store. The server is implemented using the Python Flask framework, and the database uses MySQL. The server provides API endpoints that process requests from user devices and store cash register systems. For example, there is an endpoint for obtaining vacant seat information and an endpoint for sending reservation information. The server has the function of obtaining vacant seat information in real time and periodically updating the database to immediately reflect vacant seating status.
[0657] Terminal (cash register system) configuration and functions
[0658] The terminal (cash register system) retrieves the latest seating information sent from the server and displays it on a display in the store. The terminal (cash register system) is a cash register terminal equipped with the Windows OS, and uses HTML and JavaScript to display seating information. When a store clerk wants to change the seat status, the terminal (cash register system) sends the operation information to the server, which updates the database on the server side. This allows the cash register system's layout screen to be updated in real time, allowing store clerks to grasp the latest seat availability.
[0659] User device configuration and functions
[0660] The user's device is a smartphone or tablet running iOS or Android. When a user opens the application and presses the "Check Seat Availability" button, the device sends a request to the server, which retrieves available seat information via the API endpoint and sends it back to the user's device. When the user selects the seat they want and presses the "Reserve" button, that information is sent to the server, which updates the database and changes the seat status to "Reserved." The application is built with React Native, and communication with the server uses the axios library.
[0661] Emotion engine structure and functions
[0662] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the user's emotional state. The emotion engine uses TensorFlow to analyze emotions and feeds the results back to the application. For example, if the emotion engine recognizes that the user is feeling stressed, the app will prioritize quiet seats.
[0663] Specific examples
[0664] 1. When a user checks availability
[0665] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed from their facial expressions and history, and prioritizes suggesting quieter seats. An example of a specific prompt is, "Please indicate what type of seat you would suggest when the user is feeling stressed."
[0666] 2. When a user reserves a seat
[0667] When a user selects the seat they want and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete, and the user's device displays a message notifying them that the reservation was successful. The information about the seat reserved by the user is also immediately reflected in the cash register system. An example of a specific prompt sentence is, "Please explain the process a user goes through to reserve a seat."
[0668] 3. Utilizing the Emotion Engine
[0669] The emotion engine grasps the user's emotional state on the day when the user checks for available seats. If the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction. An example of a specific prompt sentence is, "Please show how to use the emotion engine to suggest seats that match the user's emotions."
[0670] This allows the user to efficiently find available seats and make reservations in real time, and also uses an emotion engine to suggest the most suitable seat based on the user's emotional state at the time, thereby improving user satisfaction and providing great convenience to both the restaurant and the customer.
[0671] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0672] Step 1:
[0673] Server database update
[0674] The server periodically retrieves vacant seat information for each store and updates the database. The server is built with the Python Flask framework and uses MySQL as the database.
[0675] Input: Vacancy information for each store
[0676] Data processing: The server analyzes the entered vacancy information and updates it in the MySQL database.
[0677] Output: Updated database
[0678] Specific operation: The server periodically retrieves vacant seat information and runs a cron job to update the store_seats table in the MySQL database.
[0679] Step 2:
[0680] User availability request
[0681] The user opens the smartphone app and presses the "Check Availability" button. The user's device sends an API request to the server.
[0682] Input: User's availability request
[0683] Data processing: The terminal encodes the user's request and sends it to the server.
[0684] Output: API request to the server
[0685] What happens: A React Native app sends a request to the / getAvailableSeats API endpoint using axios.
[0686] Step 3:
[0687] Server availability information
[0688] The server receives the API request, retrieves the current seat availability information from the database, and returns the retrieved data to the user's device.
[0689] Input: User's API request
[0690] Data processing: The server decodes the request and uses an SQL query to retrieve the required seat availability information from the database.
[0691] Output: Seat availability information to user terminal
[0692] Specific operation: The server executes a query such as SELECT FROM store_seats WHERE status='available' and returns the retrieved data to the user device in JSON format.
[0693] Step 4:
[0694] Display user availability information
[0695] The available seat information is returned to the user's device and displayed within the application. The emotion engine analyzes the user's emotional state and suggests suitable seats.
[0696] Input: Vacancy information from the server
[0697] Data processing: The user device parses the received JSON data and formats it for display. The emotion engine also generates the analysis results.
[0698] Output: Displayed seat availability and seat suggestions
[0699] Specific operation: JavaScript is used to display available seat information on the application UI, and TensorFlow is used by the emotion engine to analyze the user's emotions and suggest appropriate seats.
[0700] Step 5:
[0701] User seat reservation request
[0702] The user selects the seat they want and presses the "Reserve" button. The terminal sends the reservation information to the server.
[0703] Input: User's booking request
[0704] Data processing: The terminal encodes the reservation information and sends it to the server.
[0705] Output: Reservation request to the server
[0706] What it does: It uses the axios library to send a POST request containing the reservation information to the server's / reserveSeatAPI endpoint.
[0707] Step 6:
[0708] Update server reservation information
[0709] The server receives the reservation information, updates the database, changes the status of the seat to "reserved," and sends a reservation completion message to the user's device.
[0710] Input: User's booking request
[0711] Data processing: The server decodes the request data and updates the database using an SQL query.
[0712] Output: Reservation completion message to user terminal
[0713] Specific operation: Executes an SQL query (e.g. UPDATE store_seats SET status='reserved' WHERE seat_id=?) and returns a JSON message to the user device indicating that the reservation was successful.
[0714] Step 7:
[0715] Update of cash register system
[0716] The cash register system receives the reservation completion data from the server and updates the seat layout and status.
[0717] Input: Reservation completion data from the server
[0718] Data processing: The cash register system analyzes the acquired data and updates the display contents.
[0719] Output: Updated layout view
[0720] Specific operation: The layout is updated in real time using JavaScript and reflected on the screen.
[0721] Through these processing steps, the system allows users to efficiently find available seats, receive suggestions based on their emotional state, and make reservations in real time.
[0722] (Application example 2)
[0723] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0724] Conventional restaurant seating management systems are often limited to simply providing seating information and reservation functions without considering user emotions. As a result, when a user is feeling stressed or looking to relax, they are unable to provide the optimal seating that reflects that emotion. Furthermore, there is no way for users to intuitively check seating information without visiting the restaurant. This has led to issues such as reduced user satisfaction.
[0725] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0726] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, means for recognizing emotions by analyzing a user's facial expression or voice, and means for suggesting an optimal seat based on the user's emotions. This allows a user to use smart glasses to intuitively check vacant seat information, find an optimal seat based on their emotions at the time, and make a reservation.
[0727] "Vacant seat information" is data indicating the status of currently available seats in a restaurant.
[0728] "Real-time" refers to information and data that is updated without delay to reflect current conditions.
[0729] A "user device" refers to a portable electronic device used by a user, such as a smartphone, tablet, or smart glasses.
[0730] "Emotion recognition" is a technology that analyzes input data such as a user's facial expressions and voice to identify their emotional state at that time.
[0731] The "optimal seat" is a seat that is determined to be comfortable based on the user's current feelings and needs.
[0732] "Layout" refers to a diagram showing the arrangement of seats and equipment within the store.
[0733] "Reservation information" is information for reserving a seat desired by a user in advance.
[0734] A "cash register system" is a computer system used to manage accounting and reservations within a store.
[0735] A "server" refers to a computer system that provides data or services in response to requests from other computers (clients).
[0736] This invention provides a system that manages vacant seat information in restaurants in real time, recognizes the user's emotions, and suggests the most suitable seat. As an application example, we will explain a specific form for realizing a smart glasses application for brick-and-mortar stores.
[0737] System Configuration
[0738] server
[0739] The server has a database that manages seating information for each restaurant. The server communicates with the store's cash register system and the user's device to obtain, update, and provide seat availability information in real time. It also suggests seats based on the user's emotional state through an emotion recognition engine. The server periodically updates the database so that seat availability is reflected immediately.
[0740] Terminal (cash register system)
[0741] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. When a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[0742] User's device (smart glasses)
[0743] Users can wear smart glasses and obtain real-time seat availability information. The smart glasses' camera captures the user's facial expressions, and an emotion recognition engine analyzes the data. Based on the recognized emotional state, the system prioritizes and suggests the most suitable seats.
[0744] emotion recognition
[0745] The emotion engine analyzes input data such as the user's facial expressions and voice to identify their emotional state at the time. For example, if the user is feeling stressed, it will prioritize quiet seats. This process uses facial recognition and natural language processing technologies.
[0746] Data exchange
[0747] The server provides a REST API (for example, using the requests.get method) and, when a request is made from the user's device, retrieves and returns the latest available seat information. Once the user's facial expression is captured and their emotional state is recognized, the results are sent to the server, which then combines them with the available seat information database to suggest the best seat.
[0748] Specific examples
[0749] The user puts on the smart glasses and their facial image is captured by the camera. The emotion engine analyzes the image and recognizes that the user is tired. The smart glasses display shows "Quiet Seats," and the user can complete the reservation by saying "Reserve this seat" using the voice command.
[0750] Prompt Sentence Examples
[0751] Call the seat availability information API and suggest the best seat based on the user's emotion. The user's facial expression image is provided and analyzed by the emotion engine. If the emotion is recognized as "tired," suggest a "quiet seat."
[0752] This allows users to understand specific embodiments for realizing the invention. Furthermore, by using this system, users can easily find the best seats, and restaurants can efficiently manage seats.
[0753] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0754] Step 1:
[0755] The server obtains vacant seat information. It obtains the current seat availability status from the vacant seat information database in real time and updates it. The input is the current seat information in the database, and the output is the latest vacant seat information. This process is performed periodically within the server.
[0756] Step 2:
[0757] The user's device (smart glasses) uses a camera to capture the user's facial image. The input is the facial image taken by the camera, and the output is the captured image data. This image data is passed to the emotion recognition engine.
[0758] Step 3:
[0759] An emotion recognition engine installed on the user's device analyzes facial images to identify emotional states. The input is the captured facial image data, and the output is the recognized emotional state (e.g., tired, wanting to relax, etc.). For emotion recognition, facial feature points are extracted and input into an emotion classification model.
[0760] Step 4:
[0761] Based on the output of the emotion recognition engine, the user's device sends a request to the server to obtain the latest seat availability information. The input is the recognized emotional state and request parameters, and the output is real-time seat availability information. The request is made using the server's REST API.
[0762] Step 5:
[0763] The server receives the request and provides the latest vacant seat information by referencing the vacant seat information database. At the same time, it also generates data to suggest the best seat based on the user's emotional state. The input is the user's emotional state and vacant seat information, and the output is vacant seat information with the best seat suggestion.
[0764] Step 6:
[0765] The user's device receives vacant seat information from the server and displays it on the smart glasses' display. The input is vacant seat information with optimal seat suggestions from the server, and the output is the information displayed on the display. The smart glasses use AR technology to overlay the vacant seat information on the actual store layout.
[0766] Step 7:
[0767] The user checks the best seat through the smart glasses and makes a reservation by voice command. The input is visual information (available seat information) and voice command, and the output is a reservation request. A voice recognition system is used to interpret the user's command.
[0768] Step 8:
[0769] Finally, the server receives the reservation request and updates the reservation database. The input is the reservation request from the user, and the output is the updated reservation information. The server returns a reservation completion message to the user's terminal.
[0770] This allows users to easily find a comfortable seat using the smart glasses, and also enables restaurants to efficiently manage available seats.
[0771] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0772] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0773] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0774] [Third embodiment]
[0775] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0776] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0777] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0778] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0779] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0780] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0781] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0782] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0783] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0784] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0785] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0786] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0787] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), and a user terminal.
[0788] server
[0789] Server Role:
[0790] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. The server has the function of retrieving and updating seat availability information in real time. It also manages reservation information and returns appropriate responses. Specifically, the server updates the database regularly to ensure that seat availability is reflected immediately.
[0791] Terminal (cash register system)
[0792] Device role:
[0793] The cash register system in the store receives the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seating status, the cash register system sends that information to the server. This updates the layout screen in real time, allowing the store clerk to understand the current seat availability.
[0794] Examples:
[0795] For example, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. Also, when a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0796] User's device
[0797] User's device role:
[0798] Users use devices such as smartphones and tablets to obtain vacant seat information through the application. They can then make reservations in real time based on the vacant seat information. Specifically, when a user presses the "Check vacant seat" button on the application, the device sends a request to the server, which returns the current vacant seat status. When the user selects the desired seat and presses the "Reserve" button, that information is sent to the server, the seat status changes to "Reserved," and other users are prevented from reserving that seat.
[0799] Examples:
[0800] For example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users.
[0801] Summary
[0802] This system allows restaurants to efficiently manage reservations so as not to leave empty seats, and allows users to find vacant seats without wasting time. In addition, by linking the cash register system and the user's smartphone app in real time via a server, the latest information is always shared, preventing problems before they occur. This system provides great convenience to both restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, and managing reservation information.
[0803] The processing flow will be explained below.
[0804] Step 1: User presses Check Availability button
[0805] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0806] Step 2: The server receives the request and retrieves the available seat information.
[0807] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0808] Step 3: The server sends the vacant seat information to the user's device.
[0809] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0810] Step 4: The user selects the seat they want to reserve and presses the "Reserve" button.
[0811] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[0812] Step 5: The server receives the request and checks the seat status
[0813] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[0814] Step 6: The server updates the seat status to "reserved"
[0815] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[0816] Step 7: Display a successful reservation notification on the user's device
[0817] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[0818] Step 8: The cashier system periodically requests seat availability information from the server
[0819] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[0820] Step 9: The server sends the latest seat availability information to the terminal.
[0821] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[0822] Step 10: The cash register system updates in-store displays
[0823] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[0824] Step 11: Change the seat status to "occupied" when the staff arrives
[0825] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[0826] Step 12: The server updates the seat status to "in use"
[0827] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[0828] Example 1
[0829] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0830] In the current restaurant industry, the management of vacant seating information differs from establishment to establishment, making it difficult to share information in real time. This means that users are unable to obtain accurate vacant seating information when making reservations, and restaurants have to work hard to manage reservations. In addition, because staff manually update seating status, errors are likely to occur, which can impair user convenience. To solve these problems, a system that can manage and share vacant seating information in an integrated manner in real time is needed.
[0831] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0832] In this invention, the server includes: a means for a user to obtain vacant seat information through an application using a device such as a smartphone or tablet; a means for the server to have a database that manages seat information for each store and provide an API endpoint for processing requests from the user's device and the store's cash register system; a means for the server to obtain and update vacant seat information in real time; a means for the server to manage reservation information and return an appropriate response; a means for the server to periodically update the database so that vacant seat status is reflected immediately; a means for the in-store cash register system to obtain the latest seat information sent from the server and display it on an in-store display; and a means for the cash register system to send information to the server when a store clerk wants to change the seat status. This enables real-time acquisition and management of vacant seat information both inside and outside the store, improving user convenience and potentially significantly improving store management efficiency.
[0833] "User terminal" refers to a mobile device such as a smartphone or tablet used by a user, through which seat availability information can be obtained and reservations can be made.
[0834] A "server" is a computer system that manages and processes data, and in the present invention is a system that has a database that manages seating information for each store and provides an API end point.
[0835] An "application" is software that users install on devices such as smartphones and tablets, and is a program through which they can check available seating information and make reservations.
[0836] An "API endpoint" is an interface through which a server receives requests from a user's terminal and a store's cash register system and provides data in response.
[0837] "Vacant seat information" is status information indicating whether seats are available at a restaurant or other establishment, and is data that is acquired and updated in real time.
[0838] A "database" is a system for structuring and storing seating information and reservation information for each store, allowing for quick and accurate data acquisition and updating.
[0839] The "cash register system" is a computer system used within a store that has the function of acquiring the latest seating information sent from a server and displaying it on a display within the store.
[0840] The "in-store display" is a display device installed inside the store, and is a device for displaying vacant seat information obtained through the cash register system in real time.
[0841] "Reservation information" is information that allows a user to reserve a specific seat at a specific date and time, and is data that is managed and updated by the server.
[0842] MODE FOR CARRYING OUT THE INVENTION
[0843] This invention is a system for managing vacant seat information of restaurants in real time, enabling users to efficiently find and reserve vacant seats. An embodiment of this system will be described in detail below.
[0844] server
[0845] The server has a database that manages seating information for each restaurant. Database management systems (DBMS) used include MySQL and PostgreSQL. The server provides a RESTful API endpoint to process requests from user devices and the restaurant's cash register system. This API endpoint is built using a web framework such as Node.js or Django.
[0846] Specifically, the server receives seating information from the store's cash register system every five minutes and updates the database. When a user requests seat availability information through a smartphone application, the server returns a response based on the latest data. The server also manages reservation information and returns appropriate responses. This makes it possible to obtain and manage seat availability information in real time both inside and outside the store.
[0847] Terminal (cash register system)
[0848] The cash register system is built using Python and Java, and retrieves the latest seating information sent from the server and displays it on a display in the store. When a store clerk wants to change the seating status, they send this information to the server. This updates the layout screen in real time, allowing the store clerk to see the current seat availability.
[0849] Specifically, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. When a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[0850] User's device
[0851] Users can obtain information about available seats via the application using devices such as smartphones and tablets. The application was developed using React Native and Flutter, and by pressing the "Check Availability" button within the app, a request is sent to the server and the latest available seat information is obtained. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, and the server updates the seat status to "Reserved."
[0852] As a concrete example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability of seats in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users. This improves user convenience and significantly improves store management efficiency.
[0853] Prompt Sentence Examples
[0854] "Please explain how the system for managing restaurant seat availability in real time works. In particular, please explain in detail the data communication between the user's device and the server."
[0855] Through this invention, it is possible to provide a system that is highly convenient for both stores and customers, and to realize efficient management of vacant seats.
[0856] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0857] Step 1:
[0858] The server initializes the database
[0859] The server sets up a database to manage seating information for each store. Specifically, a database management system such as MySQL or PostgreSQL is used to create a new table and store seating information and reservation information.
[0860] Input: None (default setting)
[0861] Output: Database table (seat information, reservation information)
[0862] Step 2:
[0863] The server provides an API endpoint
[0864] The server sets up a RESTful API endpoint to receive requests from users and the cash register system. Using Node.js or Django, we create an endpoint that processes GET and POST requests.
[0865] Input: None (default setting)
[0866] Output: API endpoint
[0867] Step 3:
[0868] The cashier system requests seat information from the server
[0869] The terminal (cash register system) sends an HTTP GET request to the server every 5 minutes to obtain the latest seating information.
[0870] Input: HTTP GET request
[0871] Output: Latest seat information (JSON format)
[0872] Step 4:
[0873] The cash register system updates in-store displays
[0874] The cash register system uses the latest seating information to update the display in the store, using HTML / CSS and JavaFX.
[0875] Input: Latest seat information
[0876] Output: Update display (displays seat availability information)
[0877] Step 5:
[0878] The staff changes the seating status
[0879] If a waiter wants to change the seat status to "occupied" or "reserved," he or she enters that information into the cash register system and sends a change request to the server.
[0880] Input: Seat status change request (HTTP POST request)
[0881] Output: Update the server database
[0882] Step 6:
[0883] The user retrieves vacant seat information through the application.
[0884] The user launches the application on their smartphone or tablet and presses the "Check Seat Availability" button to send an HTTP GET request to the server, which then returns a response based on the latest seat information.
[0885] Input: Seat availability request (HTTP GET request)
[0886] Output: Latest seat information (JSON format)
[0887] Step 7:
[0888] The user reserves the desired seat
[0889] When the user selects the desired seat and presses the "Reserve" button, the application sends an HTTP POST request to the server with the reservation information, which then updates the database and changes the seat status to "Reserved."
[0890] Input: Reservation request (HTTP POST request)
[0891] Output: Seat information update (reserved)
[0892] Step 8:
[0893] The server reflects the reservation information to other users.
[0894] The server will then return the latest information to other users in response to their seat availability requests based on the updated information in the database, thereby preventing other users from re-reserving seats that have already been reserved.
[0895] Input: Database update information
[0896] Output: Response with latest availability information
[0897] This series of processes allows users to efficiently find and reserve vacant seats, and stores to manage vacant seat information in real time.
[0898] (Application example 1)
[0899] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0900] Conventional restaurant vacancy management systems often prevent users from checking seat availability until they arrive at the restaurant, resulting in wasted time and the possibility of arriving at the restaurant only to find that all seats are taken. Furthermore, the systems lack the real-time and visibility required for users to check seat availability information and make reservations. Furthermore, there are limited ways to visually and intuitively check seat availability information, creating a need for an improved user experience.
[0901] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0902] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing the vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, and means for displaying vacant seat information on smart glasses so that a user can check vacant seats within their field of view and make reservations. This allows a user to use the smart glasses to check vacant seat information at nearby restaurants in real time while on the town and make instant reservations.
[0903] "Means for obtaining current seat availability information in real time" refers to equipment or software that instantly obtains seat availability information within a restaurant and collects it as data.
[0904] "Means for updating seat status based on acquired vacant seat information" refers to equipment or software that automatically updates and reflects seat usage status based on the latest vacant seat information collected on the server.
[0905] "Means for providing seat availability information to a user's device" refers to equipment or software for sending and displaying the latest seat availability information to a device owned by the user, such as a smartphone or tablet.
[0906] "Means for managing acquired seat availability information and reservation information" refers to equipment or software that centrally manages seat availability information and reservation information acquired by the server, and updates and stores this data as necessary.
[0907] "Means for displaying seating layout and updating seating status in the cash register system" refers to equipment and software that enables the cash register system in a store to visually display the current seating arrangement and usage status, and instantly reflects changes to seating status made by store staff.
[0908] "A means for displaying seat availability information on smart glasses, allowing users to check seat availability within their field of vision and make reservations" refers to equipment or software that displays seat availability information in real time on a smart device worn by a user (e.g., smart glasses), allowing users to check the information within their field of vision and make reservations through operation.
[0909] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. Specifically, this system consists of a server, a terminal (cash register system), a user terminal, and smart glasses.
[0910] server
[0911] Server Roles
[0912] The server has a database that manages seating information for each restaurant, and has the ability to retrieve and update seat availability and reservation information in real time. It also provides an API endpoint to process requests from user devices and in-store cash register systems. The server periodically updates the database so that seat availability is reflected immediately.
[0913] Terminal (cash register system)
[0914] Device Role
[0915] The store's cash register system retrieves the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seat status, that information is sent to the server and the seat status is updated in real time. This ensures that the current seat availability is always accurately managed and prevents other users from accidentally reserving the seat.
[0916] User's device
[0917] User device role
[0918] Users can obtain seat availability information through the application using devices such as smartphones and tablets. When they open the application and press the "Check Seat Availability" button, the device sends a request to the server, which displays the current seat availability. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, the seat status changes to "Reserved," and other users cannot reserve that seat.
[0919] Smart Glasses
[0920] The role of smart glasses
[0921] Users wearing smart glasses can view real-time seat availability information on a display within their field of vision. As users walk around town, seat availability information for nearby restaurants is automatically displayed. To make a reservation, users can select the desired seat within their field of vision and press the reservation button to instantly secure a seat.
[0922] Hardware and Software Used
[0923] The server uses a high-performance database management system (e.g., MySQL, PostgreSQL) and API server (e.g., Node.js, Express). The cash register system consists of a cash register terminal and a computer with dedicated software installed. The user's terminal uses a smartphone application (e.g., React Native, Swift). An application developed using React Native is installed on the smart glasses.
[0924] Specific examples
[0925] While walking around town, a user wearing smart glasses will see information about available seats at nearby restaurants. Through the glasses, users can check the current seat availability, select the seat they want, and make a reservation. The server instantly updates the information, providing other users with the latest seat availability information.
[0926] Prompt Sentence Examples
[0927] The following code uses smart glasses to retrieve seat availability information for nearby restaurants, display it in real time, and make reservations. It is implemented using React Native. Please also include an explanation of the API communication section.
[0928] javascript
[0929] import React, { useState, useEffect} from 'react';
[0930] import { View, Text, Button} from 'react-native';
[0931] import { getFreeSeats, reserveSeat} from '. / api';
[0932] const SmartGlassesApp = () => {
[0933] const [seatData, setSeatData] = useState([]);
[0934] const [selectedSeat, setSelectedSeat] = useState(null);
[0935] / / Continued below...
[0936] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0937] Step 1:
[0938] User submission
[0939] A user puts on smart glasses and intends to check seat availability. The smart glasses application is launched and acquires current location information. This location information is sent to the server, and a request for nearby restaurant information is generated.
[0940] Input: Smart glasses location information
[0941] Output: A request for restaurant information
[0942] Step 2:
[0943] Server Response
[0944] After receiving the location information from the user, the server retrieves a list of nearby restaurants from the database, retrieves the current seat availability information for each restaurant from the database, and generates a response to send back to the user.
[0945] Input: User's location
[0946] Output: A list of nearby restaurants and their availability information
[0947] Step 3:
[0948] User's screen display
[0949] The application displayed on the smart glasses overlays information in the user's field of view based on a list of nearby restaurants and seat availability information received from the server. The user interface is designed to allow the user to check which restaurants they are interested in.
[0950] Input: List of nearby restaurants and seat availability information from the server
[0951] Output: Overlay information displayed in the user's field of view
[0952] Step 4:
[0953] User Reservation
[0954] The user selects the desired restaurant and seat within the field of view and confirms it. The smart glasses application then sends the information to the server and generates a request to reserve the selected seat.
[0955] Input: User selection information (restaurant and seat)
[0956] Output: A request to reserve the selected seat.
[0957] Step 5:
[0958] Server reservation process
[0959] The server receives a reservation request from the user, updates the seat information in the database, changes the status of the relevant seat to "reserved," and sends the result of this status change to the user as a response.
[0960] Input: Booking request from user
[0961] Output: Reservation status update result (success or failure)
[0962] Step 6:
[0963] Prompt the user
[0964] The user will see the response displayed on the smart glasses to know if the reservation was successful or not. If successful, the reservation details will be displayed in the field of view, and if not, the user will be presented with the option to try again.
[0965] Input: Reservation status update result from the server
[0966] Output: Display of reservation details or retry options
[0967] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0968] This invention combines a system that manages restaurant vacancy information in real time with an emotion engine that recognizes user emotions, enabling users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), a user terminal, and the emotion engine.
[0969] server
[0970] Server Role:
[0971] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. Its job is to obtain and update seat availability information in real time. It also manages reservation information and returns appropriate responses. The server periodically updates the database to ensure that seat availability is reflected immediately.
[0972] Terminal (cash register system)
[0973] Device role:
[0974] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. Also, if a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[0975] User's device
[0976] User's device role:
[0977] Users use devices such as smartphones and tablets to obtain seat availability information through the application. They can then make reservations in real time based on the seat availability information. When a user presses the "Check Seat Availability" button on the application, the device sends a request to the server, which returns the current seat availability information. When a user selects the desired seat and presses the "Reserve" button, the seat status is updated to "Reserved," and other users will no longer be able to reserve that seat.
[0978] Emotion Engine
[0979] The role of the Emotion Engine:
[0980] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the emotion at that time. When the user checks available seating information or makes a reservation, the emotion engine makes suggestions based on that emotion. For example, if the user is feeling stressed, it can suggest a quiet seat.
[0981] Specific examples
[0982] 1. When a user checks availability:
[0983] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed based on their facial expressions and history, and prioritizes quieter seats.
[0984] 2. When a user reserves a seat:
[0985] When a user selects a desired seat and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete. The user's device then displays a message indicating that the reservation was successful. The information about the seat reserved by the user is also immediately updated in the cash register system.
[0986] 3. Leveraging the Emotion Engine:
[0987] When a user checks for available seats, the emotion engine grasps the user's emotional state on that day. For example, if the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction.
[0988] Summary
[0989] This system allows restaurants to reduce vacant seats and efficiently manage reservations, while allowing users to find vacant seats without wasting time and reserve a comfortable seat. Furthermore, the emotion engine grasps the user's emotional state and makes corresponding suggestions, improving user satisfaction and providing great convenience to both restaurants and customers. This system builds a new relationship between restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, managing reservation information, and making suggestions based on emotion recognition.
[0990] The processing flow will be explained below.
[0991] Step 1: User presses Check Availability button
[0992] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[0993] Step 2: The server receives the request and retrieves the available seat information.
[0994] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[0995] Step 3: The server sends the vacant seat information to the user's device.
[0996] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[0997] Step 4: The emotion engine recognizes the user's emotion
[0998] The emotion engine installed on the user's device recognizes the user's current emotional state from their facial expressions, voice, and operation history. The results of this recognition are used to provide and suggest vacant seat information.
[0999] Step 5: The user's device provides seat availability information based on their emotions.
[1000] Based on the user's emotions recognized by the emotion engine, the user's device adjusts the display order and content of available seat information. For example, if the user is feeling stressed, quiet seats will be displayed first.
[1001] Step 6: User selects the desired seat and presses the "Reserve" button
[1002] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[1003] Step 7: The server receives the request and checks the seat status
[1004] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[1005] Step 8: The server updates the seat status to "reserved"
[1006] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[1007] Step 9: Display a successful reservation notification on the user's device
[1008] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[1009] Step 10: The cashier system periodically requests seat availability information from the server
[1010] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[1011] Step 11: The server sends the latest seat availability information to the terminal.
[1012] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[1013] Step 12: The cashier system updates the in-store displays
[1014] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[1015] Step 13: Change the seat status to "occupied" when the staff arrives
[1016] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[1017] Step 14: Server updates seat status to "in use"
[1018] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[1019] Example 2
[1020] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1021] In the service industry, such as restaurants, there is a need to manage seat availability information in real time and provide it to customers efficiently. In addition, it is necessary to improve customer satisfaction by suggesting seats according to the user's emotional state, but current systems do not adequately address this issue.
[1022] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for acquiring current vacant seat information in real time, a means for updating the seat status based on the acquired vacant seat information, a means for providing the vacant seat information to the user's terminal, a means for managing the acquired vacant seat information and reservation information, a means for displaying the seat layout and updating the seat status in the cash register system, and a means for analyzing the user's emotions and suggesting an appropriate seat according to the user's emotional state. This allows the user to efficiently find an vacant seat and receive suggestions according to the user's emotional state at the time.
[1023] "Means for obtaining current vacant seat information in real time" is a function that allows the server to collect vacant seat information of the store from the database at any time and update it immediately.
[1024] The "means for updating the seat status based on the acquired vacant seat information" is a function that uses the vacant seat information collected by the server to update the seat usage status to the latest state.
[1025] The "means for providing vacant seat information to a user's terminal" is a function that enables a server to send vacant seat information to a terminal such as a user's smartphone or tablet.
[1026] The "means for managing acquired vacant seat information and reservation information" is a function by which the server centrally records and manages vacant seat information and user reservation information.
[1027] "Means for displaying seating layout and updating seating status in the cash register system" refers to a function that enables the terminal (cash register system) to display the seating arrangement within the store and allows store staff to update seating status in real time.
[1028] "Means for analyzing the user's emotions and suggesting an appropriate seat based on their emotional state" refers to a function in which the emotion engine analyzes the user's facial expressions, voice, and operation history, and suggests an appropriate seat for the user based on their emotional state.
[1029] This invention relates to a system that manages information on available seats in restaurants in real time and suggests appropriate seats depending on the user's emotional state. The system is composed of a server, a terminal (cash register system), a user terminal, and an emotion engine.
[1030] Server configuration and functions
[1031] The server has a database that manages seating information for each store. The server is implemented using the Python Flask framework, and the database uses MySQL. The server provides API endpoints that process requests from user devices and store cash register systems. For example, there is an endpoint for obtaining vacant seat information and an endpoint for sending reservation information. The server has the function of obtaining vacant seat information in real time and periodically updating the database to immediately reflect vacant seating status.
[1032] Terminal (cash register system) configuration and functions
[1033] The terminal (cash register system) retrieves the latest seating information sent from the server and displays it on a display in the store. The terminal (cash register system) is a cash register terminal equipped with the Windows OS, and uses HTML and JavaScript to display seating information. When a store clerk wants to change the seat status, the terminal (cash register system) sends the operation information to the server, which updates the database on the server side. This allows the cash register system's layout screen to be updated in real time, allowing store clerks to grasp the latest seat availability.
[1034] User device configuration and functions
[1035] The user's device is a smartphone or tablet running iOS or Android. When a user opens the application and presses the "Check Seat Availability" button, the device sends a request to the server, which retrieves available seat information via the API endpoint and sends it back to the user's device. When the user selects the seat they want and presses the "Reserve" button, that information is sent to the server, which updates the database and changes the seat status to "Reserved." The application is built with React Native, and communication with the server uses the axios library.
[1036] Emotion engine structure and functions
[1037] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the user's emotional state. The emotion engine uses TensorFlow to analyze emotions and feeds the results back to the application. For example, if the emotion engine recognizes that the user is feeling stressed, the app will prioritize quiet seats.
[1038] Specific examples
[1039] 1. When a user checks availability
[1040] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed from their facial expressions and history, and prioritizes suggesting quieter seats. An example of a specific prompt is, "Please indicate what type of seat you would suggest when the user is feeling stressed."
[1041] 2. When a user reserves a seat
[1042] When a user selects the seat they want and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete, and the user's device displays a message notifying them that the reservation was successful. The information about the seat reserved by the user is also immediately reflected in the cash register system. An example of a specific prompt sentence is, "Please explain the process a user goes through to reserve a seat."
[1043] 3. Utilizing the Emotion Engine
[1044] The emotion engine grasps the user's emotional state on the day when the user checks for available seats. If the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction. An example of a specific prompt sentence is, "Please show how to use the emotion engine to suggest seats that match the user's emotions."
[1045] This allows the user to efficiently find available seats and make reservations in real time, and also uses an emotion engine to suggest the most suitable seat based on the user's emotional state at the time, thereby improving user satisfaction and providing great convenience to both the restaurant and the customer.
[1046] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1047] Step 1:
[1048] Server database update
[1049] The server periodically retrieves vacant seat information for each store and updates the database. The server is built with the Python Flask framework and uses MySQL as the database.
[1050] Input: Vacancy information for each store
[1051] Data processing: The server analyzes the entered vacancy information and updates it in the MySQL database.
[1052] Output: Updated database
[1053] Specific operation: The server periodically retrieves vacant seat information and runs a cron job to update the store_seats table in the MySQL database.
[1054] Step 2:
[1055] User availability request
[1056] The user opens the smartphone app and presses the "Check Availability" button. The user's device sends an API request to the server.
[1057] Input: User's availability request
[1058] Data processing: The terminal encodes the user's request and sends it to the server.
[1059] Output: API request to the server
[1060] What happens: A React Native app sends a request to the / getAvailableSeats API endpoint using axios.
[1061] Step 3:
[1062] Server availability information
[1063] The server receives the API request, retrieves the current seat availability information from the database, and returns the retrieved data to the user's device.
[1064] Input: User's API request
[1065] Data processing: The server decodes the request and uses an SQL query to retrieve the required seat availability information from the database.
[1066] Output: Seat availability information to user terminal
[1067] Specific operation: The server executes a query such as SELECT FROM store_seats WHERE status='available' and returns the retrieved data to the user device in JSON format.
[1068] Step 4:
[1069] Display user availability information
[1070] The available seat information is returned to the user's device and displayed within the application. The emotion engine analyzes the user's emotional state and suggests suitable seats.
[1071] Input: Vacancy information from the server
[1072] Data processing: The user device parses the received JSON data and formats it for display. The emotion engine also generates the analysis results.
[1073] Output: Displayed seat availability and seat suggestions
[1074] Specific operation: JavaScript is used to display available seat information on the application UI, and TensorFlow is used by the emotion engine to analyze the user's emotions and suggest appropriate seats.
[1075] Step 5:
[1076] User seat reservation request
[1077] The user selects the seat they want and presses the "Reserve" button. The terminal sends the reservation information to the server.
[1078] Input: User's booking request
[1079] Data processing: The terminal encodes the reservation information and sends it to the server.
[1080] Output: Reservation request to the server
[1081] What it does: It uses the axios library to send a POST request containing the reservation information to the server's / reserveSeatAPI endpoint.
[1082] Step 6:
[1083] Update server reservation information
[1084] The server receives the reservation information, updates the database, changes the status of the seat to "reserved," and sends a reservation completion message to the user's device.
[1085] Input: User's booking request
[1086] Data processing: The server decodes the request data and updates the database using an SQL query.
[1087] Output: Reservation completion message to user terminal
[1088] Specific operation: Executes an SQL query (e.g. UPDATE store_seats SET status='reserved' WHERE seat_id=?) and returns a JSON message to the user device indicating that the reservation was successful.
[1089] Step 7:
[1090] Update of cash register system
[1091] The cash register system receives the reservation completion data from the server and updates the seat layout and status.
[1092] Input: Reservation completion data from the server
[1093] Data processing: The cash register system analyzes the acquired data and updates the display contents.
[1094] Output: Updated layout view
[1095] Specific operation: The layout is updated in real time using JavaScript and reflected on the screen.
[1096] Through these processing steps, the system allows users to efficiently find available seats, receive suggestions based on their emotional state, and make reservations in real time.
[1097] (Application example 2)
[1098] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1099] Conventional restaurant seating management systems are often limited to simply providing seating information and reservation functions without considering user emotions. As a result, when a user is feeling stressed or looking to relax, they are unable to provide the optimal seating that reflects that emotion. Furthermore, there is no way for users to intuitively check seating information without visiting the restaurant. This has led to issues such as reduced user satisfaction.
[1100] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1101] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, means for recognizing emotions by analyzing a user's facial expression or voice, and means for suggesting an optimal seat based on the user's emotions. This allows a user to use smart glasses to intuitively check vacant seat information, find an optimal seat based on their emotions at the time, and make a reservation.
[1102] "Vacant seat information" is data indicating the status of currently available seats in a restaurant.
[1103] "Real-time" refers to information and data that is updated without delay to reflect current conditions.
[1104] A "user device" refers to a portable electronic device used by a user, such as a smartphone, tablet, or smart glasses.
[1105] "Emotion recognition" is a technology that analyzes input data such as a user's facial expressions and voice to identify their emotional state at that time.
[1106] The "optimal seat" is a seat that is determined to be comfortable based on the user's current feelings and needs.
[1107] "Layout" refers to a diagram showing the arrangement of seats and equipment within the store.
[1108] "Reservation information" is information for reserving a seat desired by a user in advance.
[1109] A "cash register system" is a computer system used to manage accounting and reservations within a store.
[1110] A "server" refers to a computer system that provides data or services in response to requests from other computers (clients).
[1111] This invention provides a system that manages vacant seat information in restaurants in real time, recognizes the user's emotions, and suggests the most suitable seat. As an application example, we will explain a specific form for realizing a smart glasses application for brick-and-mortar stores.
[1112] System Configuration
[1113] server
[1114] The server has a database that manages seating information for each restaurant. The server communicates with the store's cash register system and the user's device to obtain, update, and provide seat availability information in real time. It also suggests seats based on the user's emotional state through an emotion recognition engine. The server periodically updates the database so that seat availability is reflected immediately.
[1115] Terminal (cash register system)
[1116] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. When a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[1117] User's device (smart glasses)
[1118] Users can wear smart glasses and obtain real-time seat availability information. The smart glasses' camera captures the user's facial expressions, and an emotion recognition engine analyzes the data. Based on the recognized emotional state, the system prioritizes and suggests the most suitable seats.
[1119] emotion recognition
[1120] The emotion engine analyzes input data such as the user's facial expressions and voice to identify their emotional state at the time. For example, if the user is feeling stressed, it will prioritize quiet seats. This process uses facial recognition and natural language processing technologies.
[1121] Data exchange
[1122] The server provides a REST API (for example, using the requests.get method) and, when a request is made from the user's device, retrieves and returns the latest available seat information. Once the user's facial expression is captured and their emotional state is recognized, the results are sent to the server, which then combines them with the available seat information database to suggest the best seat.
[1123] Specific examples
[1124] The user puts on the smart glasses and their facial image is captured by the camera. The emotion engine analyzes the image and recognizes that the user is tired. The smart glasses display shows "Quiet Seats," and the user can complete the reservation by saying "Reserve this seat" using the voice command.
[1125] Prompt Sentence Examples
[1126] Call the seat availability information API and suggest the best seat based on the user's emotion. The user's facial expression image is provided and analyzed by the emotion engine. If the emotion is recognized as "tired," suggest a "quiet seat."
[1127] This allows users to understand specific embodiments for realizing the invention. Furthermore, by using this system, users can easily find the best seats, and restaurants can efficiently manage seats.
[1128] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1129] Step 1:
[1130] The server obtains vacant seat information. It obtains the current seat availability status from the vacant seat information database in real time and updates it. The input is the current seat information in the database, and the output is the latest vacant seat information. This process is performed periodically within the server.
[1131] Step 2:
[1132] The user's device (smart glasses) uses a camera to capture the user's facial image. The input is the facial image taken by the camera, and the output is the captured image data. This image data is passed to the emotion recognition engine.
[1133] Step 3:
[1134] An emotion recognition engine installed on the user's device analyzes facial images to identify emotional states. The input is the captured facial image data, and the output is the recognized emotional state (e.g., tired, wanting to relax, etc.). For emotion recognition, facial feature points are extracted and input into an emotion classification model.
[1135] Step 4:
[1136] Based on the output of the emotion recognition engine, the user's device sends a request to the server to obtain the latest seat availability information. The input is the recognized emotional state and request parameters, and the output is real-time seat availability information. The request is made using the server's REST API.
[1137] Step 5:
[1138] The server receives the request and provides the latest vacant seat information by referencing the vacant seat information database. At the same time, it also generates data to suggest the best seat based on the user's emotional state. The input is the user's emotional state and vacant seat information, and the output is vacant seat information with the best seat suggestion.
[1139] Step 6:
[1140] The user's device receives vacant seat information from the server and displays it on the smart glasses' display. The input is vacant seat information with optimal seat suggestions from the server, and the output is the information displayed on the display. The smart glasses use AR technology to overlay the vacant seat information on the actual store layout.
[1141] Step 7:
[1142] The user checks the best seat through the smart glasses and makes a reservation by voice command. The input is visual information (available seat information) and voice command, and the output is a reservation request. A voice recognition system is used to interpret the user's command.
[1143] Step 8:
[1144] Finally, the server receives the reservation request and updates the reservation database. The input is the reservation request from the user, and the output is the updated reservation information. The server returns a reservation completion message to the user's terminal.
[1145] This allows users to easily find a comfortable seat using the smart glasses, and also enables restaurants to efficiently manage available seats.
[1146] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1147] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1148] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1149] [Fourth embodiment]
[1150] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1151] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1152] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1153] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1154] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1155] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1156] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1157] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1158] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1159] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1160] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1161] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1162] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1163] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), and a user terminal.
[1164] server
[1165] Server Role:
[1166] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. The server has the function of retrieving and updating seat availability information in real time. It also manages reservation information and returns appropriate responses. Specifically, the server updates the database regularly to ensure that seat availability is reflected immediately.
[1167] Terminal (cash register system)
[1168] Device role:
[1169] The cash register system in the store receives the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seating status, the cash register system sends that information to the server. This updates the layout screen in real time, allowing the store clerk to understand the current seat availability.
[1170] Examples:
[1171] For example, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. Also, when a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[1172] User's device
[1173] User's device role:
[1174] Users use devices such as smartphones and tablets to obtain vacant seat information through the application. They can then make reservations in real time based on the vacant seat information. Specifically, when a user presses the "Check vacant seat" button on the application, the device sends a request to the server, which returns the current vacant seat status. When the user selects the desired seat and presses the "Reserve" button, that information is sent to the server, the seat status changes to "Reserved," and other users are prevented from reserving that seat.
[1175] Examples:
[1176] For example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users.
[1177] Summary
[1178] This system allows restaurants to efficiently manage reservations so as not to leave empty seats, and allows users to find vacant seats without wasting time. In addition, by linking the cash register system and the user's smartphone app in real time via a server, the latest information is always shared, preventing problems before they occur. This system provides great convenience to both restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, and managing reservation information.
[1179] The processing flow will be explained below.
[1180] Step 1: User presses Check Availability button
[1181] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[1182] Step 2: The server receives the request and retrieves the available seat information.
[1183] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[1184] Step 3: The server sends the vacant seat information to the user's device.
[1185] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[1186] Step 4: The user selects the seat they want to reserve and presses the "Reserve" button.
[1187] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[1188] Step 5: The server receives the request and checks the seat status
[1189] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[1190] Step 6: The server updates the seat status to "reserved"
[1191] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[1192] Step 7: Display a successful reservation notification on the user's device
[1193] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[1194] Step 8: The cashier system periodically requests seat availability information from the server
[1195] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[1196] Step 9: The server sends the latest seat availability information to the terminal.
[1197] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[1198] Step 10: The cash register system updates in-store displays
[1199] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[1200] Step 11: Change the seat status to "occupied" when the staff arrives
[1201] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[1202] Step 12: The server updates the seat status to "in use"
[1203] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[1204] Example 1
[1205] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1206] In the current restaurant industry, the management of vacant seating information differs from establishment to establishment, making it difficult to share information in real time. This means that users are unable to obtain accurate vacant seating information when making reservations, and restaurants have to work hard to manage reservations. In addition, because staff manually update seating status, errors are likely to occur, which can impair user convenience. To solve these problems, a system that can manage and share vacant seating information in an integrated manner in real time is needed.
[1207] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1208] In this invention, the server includes: a means for a user to obtain vacant seat information through an application using a device such as a smartphone or tablet; a means for the server to have a database that manages seat information for each store and provide an API endpoint for processing requests from the user's device and the store's cash register system; a means for the server to obtain and update vacant seat information in real time; a means for the server to manage reservation information and return an appropriate response; a means for the server to periodically update the database so that vacant seat status is reflected immediately; a means for the in-store cash register system to obtain the latest seat information sent from the server and display it on an in-store display; and a means for the cash register system to send information to the server when a store clerk wants to change the seat status. This enables real-time acquisition and management of vacant seat information both inside and outside the store, improving user convenience and potentially significantly improving store management efficiency.
[1209] "User terminal" refers to a mobile device such as a smartphone or tablet used by a user, through which seat availability information can be obtained and reservations can be made.
[1210] A "server" is a computer system that manages and processes data, and in the present invention is a system that has a database that manages seating information for each store and provides an API end point.
[1211] An "application" is software that users install on devices such as smartphones and tablets, and is a program through which they can check available seating information and make reservations.
[1212] An "API endpoint" is an interface through which a server receives requests from a user's terminal and a store's cash register system and provides data in response.
[1213] "Vacant seat information" is status information indicating whether seats are available at a restaurant or other establishment, and is data that is acquired and updated in real time.
[1214] A "database" is a system for structuring and storing seating information and reservation information for each store, allowing for quick and accurate data acquisition and updating.
[1215] The "cash register system" is a computer system used within a store that has the function of acquiring the latest seating information sent from a server and displaying it on a display within the store.
[1216] The "in-store display" is a display device installed inside the store, and is a device for displaying vacant seat information obtained through the cash register system in real time.
[1217] "Reservation information" is information that allows a user to reserve a specific seat at a specific date and time, and is data that is managed and updated by the server.
[1218] MODE FOR CARRYING OUT THE INVENTION
[1219] This invention is a system for managing vacant seat information of restaurants in real time, enabling users to efficiently find and reserve vacant seats. An embodiment of this system will be described in detail below.
[1220] server
[1221] The server has a database that manages seating information for each restaurant. Database management systems (DBMS) used include MySQL and PostgreSQL. The server provides a RESTful API endpoint to process requests from user devices and the restaurant's cash register system. This API endpoint is built using a web framework such as Node.js or Django.
[1222] Specifically, the server receives seating information from the store's cash register system every five minutes and updates the database. When a user requests seat availability information through a smartphone application, the server returns a response based on the latest data. The server also manages reservation information and returns appropriate responses. This makes it possible to obtain and manage seat availability information in real time both inside and outside the store.
[1223] Terminal (cash register system)
[1224] The cash register system is built using Python and Java, and retrieves the latest seating information sent from the server and displays it on a display in the store. When a store clerk wants to change the seating status, they send this information to the server. This updates the layout screen in real time, allowing the store clerk to see the current seat availability.
[1225] Specifically, the cash register system requests information about available seats from the server every five minutes and updates the display in the store based on that information. When a store clerk guides a customer to a seat, the status of that seat is changed to "occupied," and the server immediately reflects the change, preventing other users from reserving that seat.
[1226] User's device
[1227] Users can obtain information about available seats via the application using devices such as smartphones and tablets. The application was developed using React Native and Flutter, and by pressing the "Check Availability" button within the app, a request is sent to the server and the latest available seat information is obtained. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, and the server updates the seat status to "Reserved."
[1228] As a concrete example, a user can open a smartphone app on their way to an izakaya and check the current seat availability. Using this app, the user can check the availability of seats in real time, select the seat they want, and make a reservation. The server receives this information, immediately updates the seat status, and reflects that information to other users. This improves user convenience and significantly improves store management efficiency.
[1229] Prompt Sentence Examples
[1230] "Please explain how the system for managing restaurant seat availability in real time works. In particular, please explain in detail the data communication between the user's device and the server."
[1231] Through this invention, it is possible to provide a system that is highly convenient for both stores and customers, and to realize efficient management of vacant seats.
[1232] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1233] Step 1:
[1234] The server initializes the database
[1235] The server sets up a database to manage seating information for each store. Specifically, a database management system such as MySQL or PostgreSQL is used to create a new table and store seating information and reservation information.
[1236] Input: None (default setting)
[1237] Output: Database table (seat information, reservation information)
[1238] Step 2:
[1239] The server provides an API endpoint
[1240] The server sets up a RESTful API endpoint to receive requests from users and the cash register system. Using Node.js or Django, we create an endpoint that processes GET and POST requests.
[1241] Input: None (default setting)
[1242] Output: API endpoint
[1243] Step 3:
[1244] The cashier system requests seat information from the server
[1245] The terminal (cash register system) sends an HTTP GET request to the server every 5 minutes to obtain the latest seating information.
[1246] Input: HTTP GET request
[1247] Output: Latest seat information (JSON format)
[1248] Step 4:
[1249] The cash register system updates in-store displays
[1250] The cash register system uses the latest seating information to update the display in the store, using HTML / CSS and JavaFX.
[1251] Input: Latest seat information
[1252] Output: Update display (displays seat availability information)
[1253] Step 5:
[1254] The staff changes the seating status
[1255] If a waiter wants to change the seat status to "occupied" or "reserved," he or she enters that information into the cash register system and sends a change request to the server.
[1256] Input: Seat status change request (HTTP POST request)
[1257] Output: Update the server database
[1258] Step 6:
[1259] The user retrieves vacant seat information through the application.
[1260] The user launches the application on their smartphone or tablet and presses the "Check Seat Availability" button to send an HTTP GET request to the server, which then returns a response based on the latest seat information.
[1261] Input: Seat availability request (HTTP GET request)
[1262] Output: Latest seat information (JSON format)
[1263] Step 7:
[1264] The user reserves the desired seat
[1265] When the user selects the desired seat and presses the "Reserve" button, the application sends an HTTP POST request to the server with the reservation information, which then updates the database and changes the seat status to "Reserved."
[1266] Input: Reservation request (HTTP POST request)
[1267] Output: Seat information update (reserved)
[1268] Step 8:
[1269] The server reflects the reservation information to other users.
[1270] The server will then return the latest information to other users in response to their seat availability requests based on the updated information in the database, thereby preventing other users from re-reserving seats that have already been reserved.
[1271] Input: Database update information
[1272] Output: Response with latest availability information
[1273] This series of processes allows users to efficiently find and reserve vacant seats, and stores to manage vacant seat information in real time.
[1274] (Application example 1)
[1275] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1276] Conventional restaurant vacancy management systems often prevent users from checking seat availability until they arrive at the restaurant, resulting in wasted time and the possibility of arriving at the restaurant only to find that all seats are taken. Furthermore, the systems lack the real-time and visibility required for users to check seat availability information and make reservations. Furthermore, there are limited ways to visually and intuitively check seat availability information, creating a need for an improved user experience.
[1277] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1278] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing the vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, and means for displaying vacant seat information on smart glasses so that a user can check vacant seats within their field of view and make reservations. This allows a user to use the smart glasses to check vacant seat information at nearby restaurants in real time while on the town and make instant reservations.
[1279] "Means for obtaining current seat availability information in real time" refers to equipment or software that instantly obtains seat availability information within a restaurant and collects it as data.
[1280] "Means for updating seat status based on acquired vacant seat information" refers to equipment or software that automatically updates and reflects seat usage status based on the latest vacant seat information collected on the server.
[1281] "Means for providing seat availability information to a user's device" refers to equipment or software for sending and displaying the latest seat availability information to a device owned by the user, such as a smartphone or tablet.
[1282] "Means for managing acquired seat availability information and reservation information" refers to equipment or software that centrally manages seat availability information and reservation information acquired by the server, and updates and stores this data as necessary.
[1283] "Means for displaying seating layout and updating seating status in the cash register system" refers to equipment and software that enables the cash register system in a store to visually display the current seating arrangement and usage status, and instantly reflects changes to seating status made by store staff.
[1284] "A means for displaying seat availability information on smart glasses, allowing users to check seat availability within their field of vision and make reservations" refers to equipment or software that displays seat availability information in real time on a smart device worn by a user (e.g., smart glasses), allowing users to check the information within their field of vision and make reservations through operation.
[1285] This invention is a system that manages restaurant vacancy information in real time, allowing users to efficiently find and reserve vacant seats. Specifically, this system consists of a server, a terminal (cash register system), a user terminal, and smart glasses.
[1286] server
[1287] Server Roles
[1288] The server has a database that manages seating information for each restaurant, and has the ability to retrieve and update seat availability and reservation information in real time. It also provides an API endpoint to process requests from user devices and in-store cash register systems. The server periodically updates the database so that seat availability is reflected immediately.
[1289] Terminal (cash register system)
[1290] Device Role
[1291] The store's cash register system retrieves the latest seating information sent from the server and displays it on a display in the store. Also, if a store clerk wants to change the seat status, that information is sent to the server and the seat status is updated in real time. This ensures that the current seat availability is always accurately managed and prevents other users from accidentally reserving the seat.
[1292] User's device
[1293] User device role
[1294] Users can obtain seat availability information through the application using devices such as smartphones and tablets. When they open the application and press the "Check Seat Availability" button, the device sends a request to the server, which displays the current seat availability. When the user selects the seat they want and presses the "Reserve" button, the information is sent to the server, the seat status changes to "Reserved," and other users cannot reserve that seat.
[1295] Smart Glasses
[1296] The role of smart glasses
[1297] Users wearing smart glasses can view real-time seat availability information on a display within their field of vision. As users walk around town, seat availability information for nearby restaurants is automatically displayed. To make a reservation, users can select the desired seat within their field of vision and press the reservation button to instantly secure a seat.
[1298] Hardware and Software Used
[1299] The server uses a high-performance database management system (e.g., MySQL, PostgreSQL) and API server (e.g., Node.js, Express). The cash register system consists of a cash register terminal and a computer with dedicated software installed. The user's terminal uses a smartphone application (e.g., React Native, Swift). An application developed using React Native is installed on the smart glasses.
[1300] Specific examples
[1301] While walking around town, a user wearing smart glasses will see information about available seats at nearby restaurants. Through the glasses, users can check the current seat availability, select the seat they want, and make a reservation. The server instantly updates the information, providing other users with the latest seat availability information.
[1302] Prompt Sentence Examples
[1303] The following code uses smart glasses to retrieve seat availability information for nearby restaurants, display it in real time, and make reservations. It is implemented using React Native. Please also include an explanation of the API communication section.
[1304] javascript
[1305] import React, { useState, useEffect} from 'react';
[1306] import { View, Text, Button} from 'react-native';
[1307] import { getFreeSeats, reserveSeat} from '. / api';
[1308] const SmartGlassesApp = () => {
[1309] const [seatData, setSeatData] = useState([]);
[1310] const [selectedSeat, setSelectedSeat] = useState(null);
[1311] / / Continued below...
[1312] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1313] Step 1:
[1314] User submission
[1315] A user puts on smart glasses and intends to check seat availability. The smart glasses application is launched and acquires current location information. This location information is sent to the server, and a request for nearby restaurant information is generated.
[1316] Input: Smart glasses location information
[1317] Output: A request for restaurant information
[1318] Step 2:
[1319] Server Response
[1320] After receiving the location information from the user, the server retrieves a list of nearby restaurants from the database, retrieves the current seat availability information for each restaurant from the database, and generates a response to send back to the user.
[1321] Input: User's location
[1322] Output: A list of nearby restaurants and their availability information
[1323] Step 3:
[1324] User's screen display
[1325] The application displayed on the smart glasses overlays information in the user's field of view based on a list of nearby restaurants and seat availability information received from the server. The user interface is designed to allow the user to check which restaurants they are interested in.
[1326] Input: List of nearby restaurants and seat availability information from the server
[1327] Output: Overlay information displayed in the user's field of view
[1328] Step 4:
[1329] User Reservation
[1330] The user selects the desired restaurant and seat within the field of view and confirms it. The smart glasses application then sends the information to the server and generates a request to reserve the selected seat.
[1331] Input: User selection information (restaurant and seat)
[1332] Output: A request to reserve the selected seat.
[1333] Step 5:
[1334] Server reservation process
[1335] The server receives a reservation request from the user, updates the seat information in the database, changes the status of the relevant seat to "reserved," and sends the result of this status change to the user as a response.
[1336] Input: Booking request from user
[1337] Output: Reservation status update result (success or failure)
[1338] Step 6:
[1339] Prompt the user
[1340] The user will see the response displayed on the smart glasses to know if the reservation was successful or not. If successful, the reservation details will be displayed in the field of view, and if not, the user will be presented with the option to try again.
[1341] Input: Reservation status update result from the server
[1342] Output: Display of reservation details or retry options
[1343] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1344] This invention combines a system that manages restaurant vacancy information in real time with an emotion engine that recognizes user emotions, enabling users to efficiently find and reserve vacant seats. The system consists of a server, a terminal (cash register system), a user terminal, and the emotion engine.
[1345] server
[1346] Server Role:
[1347] The server has a database that manages seating information for each store. The server provides an API endpoint for processing requests from user devices and store cash register systems. Its job is to obtain and update seat availability information in real time. It also manages reservation information and returns appropriate responses. The server periodically updates the database to ensure that seat availability is reflected immediately.
[1348] Terminal (cash register system)
[1349] Device role:
[1350] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. Also, if a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[1351] User's device
[1352] User's device role:
[1353] Users use devices such as smartphones and tablets to obtain seat availability information through the application. They can then make reservations in real time based on the seat availability information. When a user presses the "Check Seat Availability" button on the application, the device sends a request to the server, which returns the current seat availability information. When a user selects the desired seat and presses the "Reserve" button, the seat status is updated to "Reserved," and other users will no longer be able to reserve that seat.
[1354] Emotion Engine
[1355] The role of the Emotion Engine:
[1356] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the emotion at that time. When the user checks available seating information or makes a reservation, the emotion engine makes suggestions based on that emotion. For example, if the user is feeling stressed, it can suggest a quiet seat.
[1357] Specific examples
[1358] 1. When a user checks availability:
[1359] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed based on their facial expressions and history, and prioritizes quieter seats.
[1360] 2. When a user reserves a seat:
[1361] When a user selects a desired seat and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete. The user's device then displays a message indicating that the reservation was successful. The information about the seat reserved by the user is also immediately updated in the cash register system.
[1362] 3. Leveraging the Emotion Engine:
[1363] When a user checks for available seats, the emotion engine grasps the user's emotional state on that day. For example, if the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction.
[1364] Summary
[1365] This system allows restaurants to reduce vacant seats and efficiently manage reservations, while allowing users to find vacant seats without wasting time and reserve a comfortable seat. Furthermore, the emotion engine grasps the user's emotional state and makes corresponding suggestions, improving user satisfaction and providing great convenience to both restaurants and customers. This system builds a new relationship between restaurants and customers by obtaining vacant seat information, updating seat status, providing information to users, managing reservation information, and making suggestions based on emotion recognition.
[1366] The processing flow will be explained below.
[1367] Step 1: User presses Check Availability button
[1368] The user opens the smartphone app and presses the "Check Seat Availability" button. This action causes the user's device to send a request to the server to obtain seat availability information.
[1369] Step 2: The server receives the request and retrieves the available seat information.
[1370] The server receives the request sent from the user's terminal, accesses the database, and retrieves all seat information (vacant, occupied, reserved).
[1371] Step 3: The server sends the vacant seat information to the user's device.
[1372] The server converts the acquired seat information into JSON format and sends it to the user's device, which receives the data and displays it on the screen.
[1373] Step 4: The emotion engine recognizes the user's emotion
[1374] The emotion engine installed on the user's device recognizes the user's current emotional state from their facial expressions, voice, and operation history. The results of this recognition are used to provide and suggest vacant seat information.
[1375] Step 5: The user's device provides seat availability information based on their emotions.
[1376] Based on the user's emotions recognized by the emotion engine, the user's device adjusts the display order and content of available seat information. For example, if the user is feeling stressed, quiet seats will be displayed first.
[1377] Step 6: User selects the desired seat and presses the "Reserve" button
[1378] The user selects the desired seat from the available seat information displayed on the app screen and presses the "Reserve" button. This operation causes the user's device to send a reservation request to the server.
[1379] Step 7: The server receives the request and checks the seat status
[1380] The server receives a reservation request sent from the user's terminal. The request includes a seat ID, and the server accesses the database to check the status of the corresponding seat.
[1381] Step 8: The server updates the seat status to "reserved"
[1382] If the server confirms that the seat is available, it updates the seat status to "reserved." If the update is successful, the server notifies the user that the reservation was successful.
[1383] Step 9: Display a successful reservation notification on the user's device
[1384] When the user's terminal receives the response from the server, it displays a message informing the user that the reservation was successful. The user confirms this message and the reservation is complete.
[1385] Step 10: The cashier system periodically requests seat availability information from the server
[1386] The terminal (cash register system) periodically sends a request to the server to obtain vacant seat information, which is then reflected on the display in the store.
[1387] Step 11: The server sends the latest seat availability information to the terminal.
[1388] The server receives a request from the cash register system, retrieves the latest seat information from the database, and sends it to the terminal.
[1389] Step 12: The cashier system updates the in-store displays
[1390] The cash register system updates the in-store displays based on the latest seating information received from the server, allowing store staff to always check the latest seat availability.
[1391] Step 13: Change the seat status to "occupied" when the staff arrives
[1392] When the staff guides the customer to a seat, they use the cash register system to change the seat status to "occupied." This information is sent to the server.
[1393] Step 14: Server updates seat status to "in use"
[1394] Based on the information received from the cash register system, the server updates the status of the relevant seat to "occupied," thereby preventing other users from reserving that seat.
[1395] Example 2
[1396] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1397] In the service industry, such as restaurants, there is a need to manage seat availability information in real time and provide it to customers efficiently. In addition, it is necessary to improve customer satisfaction by suggesting seats according to the user's emotional state, but current systems do not adequately address this issue.
[1398] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for acquiring current vacant seat information in real time, a means for updating the seat status based on the acquired vacant seat information, a means for providing the vacant seat information to the user's terminal, a means for managing the acquired vacant seat information and reservation information, a means for displaying the seat layout and updating the seat status in the cash register system, and a means for analyzing the user's emotions and suggesting an appropriate seat according to the user's emotional state. This allows the user to efficiently find an vacant seat and receive suggestions according to the user's emotional state at the time.
[1399] "Means for obtaining current vacant seat information in real time" is a function that allows the server to collect vacant seat information of the store from the database at any time and update it immediately.
[1400] The "means for updating the seat status based on the acquired vacant seat information" is a function that uses the vacant seat information collected by the server to update the seat usage status to the latest state.
[1401] The "means for providing vacant seat information to a user's terminal" is a function that enables a server to send vacant seat information to a terminal such as a user's smartphone or tablet.
[1402] The "means for managing acquired vacant seat information and reservation information" is a function by which the server centrally records and manages vacant seat information and user reservation information.
[1403] "Means for displaying seating layout and updating seating status in the cash register system" refers to a function that enables the terminal (cash register system) to display the seating arrangement within the store and allows store staff to update seating status in real time.
[1404] "Means for analyzing the user's emotions and suggesting an appropriate seat based on their emotional state" refers to a function in which the emotion engine analyzes the user's facial expressions, voice, and operation history, and suggests an appropriate seat for the user based on their emotional state.
[1405] This invention relates to a system that manages information on available seats in restaurants in real time and suggests appropriate seats depending on the user's emotional state. The system is composed of a server, a terminal (cash register system), a user terminal, and an emotion engine.
[1406] Server configuration and functions
[1407] The server has a database that manages seating information for each store. The server is implemented using the Python Flask framework, and the database uses MySQL. The server provides API endpoints that process requests from user devices and store cash register systems. For example, there is an endpoint for obtaining vacant seat information and an endpoint for sending reservation information. The server has the function of obtaining vacant seat information in real time and periodically updating the database to immediately reflect vacant seating status.
[1408] Terminal (cash register system) configuration and functions
[1409] The terminal (cash register system) retrieves the latest seating information sent from the server and displays it on a display in the store. The terminal (cash register system) is a cash register terminal equipped with the Windows OS, and uses HTML and JavaScript to display seating information. When a store clerk wants to change the seat status, the terminal (cash register system) sends the operation information to the server, which updates the database on the server side. This allows the cash register system's layout screen to be updated in real time, allowing store clerks to grasp the latest seat availability.
[1410] User device configuration and functions
[1411] The user's device is a smartphone or tablet running iOS or Android. When a user opens the application and presses the "Check Seat Availability" button, the device sends a request to the server, which retrieves available seat information via the API endpoint and sends it back to the user's device. When the user selects the seat they want and presses the "Reserve" button, that information is sent to the server, which updates the database and changes the seat status to "Reserved." The application is built with React Native, and communication with the server uses the axios library.
[1412] Emotion engine structure and functions
[1413] The emotion engine runs within an application installed on the user's device. It analyzes the user's facial expressions, voice, and operation history to recognize the user's emotional state. The emotion engine uses TensorFlow to analyze emotions and feeds the results back to the application. For example, if the emotion engine recognizes that the user is feeling stressed, the app will prioritize quiet seats.
[1414] Specific examples
[1415] 1. When a user checks availability
[1416] When a user opens the smartphone app and presses the "Check Seat Availability" button, the device sends a request to the server. The server retrieves available seat information from the database and sends it to the user's device. The emotion engine on the user's device recognizes that the user is feeling stressed from their facial expressions and history, and prioritizes suggesting quieter seats. An example of a specific prompt is, "Please indicate what type of seat you would suggest when the user is feeling stressed."
[1417] 2. When a user reserves a seat
[1418] When a user selects the seat they want and presses the "Reserve" button, that information is sent to the server. The server updates the database and changes the seat status to "Reserved." The server then sends a message to the user's device indicating that the reservation is complete, and the user's device displays a message notifying them that the reservation was successful. The information about the seat reserved by the user is also immediately reflected in the cash register system. An example of a specific prompt sentence is, "Please explain the process a user goes through to reserve a seat."
[1419] 3. Utilizing the Emotion Engine
[1420] The emotion engine grasps the user's emotional state on the day when the user checks for available seats. If the emotion engine determines that the user is looking for a relaxing seat, it will prioritize and display relaxing seats from the available seat information. This improves user satisfaction. An example of a specific prompt sentence is, "Please show how to use the emotion engine to suggest seats that match the user's emotions."
[1421] This allows the user to efficiently find available seats and make reservations in real time, and also uses an emotion engine to suggest the most suitable seat based on the user's emotional state at the time, thereby improving user satisfaction and providing great convenience to both the restaurant and the customer.
[1422] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1423] Step 1:
[1424] Server database update
[1425] The server periodically retrieves vacant seat information for each store and updates the database. The server is built with the Python Flask framework and uses MySQL as the database.
[1426] Input: Vacancy information for each store
[1427] Data processing: The server analyzes the entered vacancy information and updates it in the MySQL database.
[1428] Output: Updated database
[1429] Specific operation: The server periodically retrieves vacant seat information and runs a cron job to update the store_seats table in the MySQL database.
[1430] Step 2:
[1431] User availability request
[1432] The user opens the smartphone app and presses the "Check Availability" button. The user's device sends an API request to the server.
[1433] Input: User's availability request
[1434] Data processing: The terminal encodes the user's request and sends it to the server.
[1435] Output: API request to the server
[1436] What happens: A React Native app sends a request to the / getAvailableSeats API endpoint using axios.
[1437] Step 3:
[1438] Server availability information
[1439] The server receives the API request, retrieves the current seat availability information from the database, and returns the retrieved data to the user's device.
[1440] Input: User's API request
[1441] Data processing: The server decodes the request and uses an SQL query to retrieve the required seat availability information from the database.
[1442] Output: Seat availability information to user terminal
[1443] Specific operation: The server executes a query such as SELECT FROM store_seats WHERE status='available' and returns the retrieved data to the user device in JSON format.
[1444] Step 4:
[1445] Display user availability information
[1446] The available seat information is returned to the user's device and displayed within the application. The emotion engine analyzes the user's emotional state and suggests suitable seats.
[1447] Input: Vacancy information from the server
[1448] Data processing: The user device parses the received JSON data and formats it for display. The emotion engine also generates the analysis results.
[1449] Output: Displayed seat availability and seat suggestions
[1450] Specific operation: JavaScript is used to display available seat information on the application UI, and TensorFlow is used by the emotion engine to analyze the user's emotions and suggest appropriate seats.
[1451] Step 5:
[1452] User seat reservation request
[1453] The user selects the seat they want and presses the "Reserve" button. The terminal sends the reservation information to the server.
[1454] Input: User's booking request
[1455] Data processing: The terminal encodes the reservation information and sends it to the server.
[1456] Output: Reservation request to the server
[1457] What it does: It uses the axios library to send a POST request containing the reservation information to the server's / reserveSeatAPI endpoint.
[1458] Step 6:
[1459] Update server reservation information
[1460] The server receives the reservation information, updates the database, changes the status of the seat to "reserved," and sends a reservation completion message to the user's device.
[1461] Input: User's booking request
[1462] Data processing: The server decodes the request data and updates the database using an SQL query.
[1463] Output: Reservation completion message to user terminal
[1464] Specific operation: Executes an SQL query (e.g. UPDATE store_seats SET status='reserved' WHERE seat_id=?) and returns a JSON message to the user device indicating that the reservation was successful.
[1465] Step 7:
[1466] Update of cash register system
[1467] The cash register system receives the reservation completion data from the server and updates the seat layout and status.
[1468] Input: Reservation completion data from the server
[1469] Data processing: The cash register system analyzes the acquired data and updates the display contents.
[1470] Output: Updated layout view
[1471] Specific operation: The layout is updated in real time using JavaScript and reflected on the screen.
[1472] Through these processing steps, the system allows users to efficiently find available seats, receive suggestions based on their emotional state, and make reservations in real time.
[1473] (Application example 2)
[1474] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1475] Conventional restaurant seating management systems are often limited to simply providing seating information and reservation functions without considering user emotions. As a result, when a user is feeling stressed or looking to relax, they are unable to provide the optimal seating that reflects that emotion. Furthermore, there is no way for users to intuitively check seating information without visiting the restaurant. This has led to issues such as reduced user satisfaction.
[1476] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1477] In this invention, the server includes means for acquiring current vacant seat information in real time, means for updating seat status based on the acquired vacant seat information, means for providing vacant seat information to a user's terminal, means for managing the acquired vacant seat information and reservation information, means for displaying seat layouts and updating seat status in a cash register system, means for recognizing emotions by analyzing a user's facial expression or voice, and means for suggesting an optimal seat based on the user's emotions. This allows a user to use smart glasses to intuitively check vacant seat information, find an optimal seat based on their emotions at the time, and make a reservation.
[1478] "Vacant seat information" is data indicating the status of currently available seats in a restaurant.
[1479] "Real-time" refers to information and data that is updated without delay to reflect current conditions.
[1480] A "user device" refers to a portable electronic device used by a user, such as a smartphone, tablet, or smart glasses.
[1481] "Emotion recognition" is a technology that analyzes input data such as a user's facial expressions and voice to identify their emotional state at that time.
[1482] The "optimal seat" is a seat that is determined to be comfortable based on the user's current feelings and needs.
[1483] "Layout" refers to a diagram showing the arrangement of seats and equipment within the store.
[1484] "Reservation information" is information for reserving a seat desired by a user in advance.
[1485] A "cash register system" is a computer system used to manage accounting and reservations within a store.
[1486] A "server" refers to a computer system that provides data or services in response to requests from other computers (clients).
[1487] This invention provides a system that manages vacant seat information in restaurants in real time, recognizes the user's emotions, and suggests the most suitable seat. As an application example, we will explain a specific form for realizing a smart glasses application for brick-and-mortar stores.
[1488] System Configuration
[1489] server
[1490] The server has a database that manages seating information for each restaurant. The server communicates with the store's cash register system and the user's device to obtain, update, and provide seat availability information in real time. It also suggests seats based on the user's emotional state through an emotion recognition engine. The server periodically updates the database so that seat availability is reflected immediately.
[1491] Terminal (cash register system)
[1492] The cash register system in the store receives the latest seating information sent from the server and displays it on the store's display. When a store clerk wants to change the seating status, the cash register system sends that operation information to the server. This updates the layout screen in real time, allowing the store clerk to grasp the latest seat availability.
[1493] User's device (smart glasses)
[1494] Users can wear smart glasses and obtain real-time seat availability information. The smart glasses' camera captures the user's facial expressions, and an emotion recognition engine analyzes the data. Based on the recognized emotional state, the system prioritizes and suggests the most suitable seats.
[1495] emotion recognition
[1496] The emotion engine analyzes input data such as the user's facial expressions and voice to identify their emotional state at the time. For example, if the user is feeling stressed, it will prioritize quiet seats. This process uses facial recognition and natural language processing technologies.
[1497] Data exchange
[1498] The server provides a REST API (for example, using the requests.get method) and, when a request is made from the user's device, retrieves and returns the latest available seat information. Once the user's facial expression is captured and their emotional state is recognized, the results are sent to the server, which then combines them with the available seat information database to suggest the best seat.
[1499] Specific examples
[1500] The user puts on the smart glasses and their facial image is captured by the camera. The emotion engine analyzes the image and recognizes that the user is tired. The smart glasses display shows "Quiet Seats," and the user can complete the reservation by saying "Reserve this seat" using the voice command.
[1501] Prompt Sentence Examples
[1502] Call the seat availability information API and suggest the best seat based on the user's emotion. The user's facial expression image is provided and analyzed by the emotion engine. If the emotion is recognized as "tired," suggest a "quiet seat."
[1503] This allows users to understand specific embodiments for realizing the invention. Furthermore, by using this system, users can easily find the best seats, and restaurants can efficiently manage seats.
[1504] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1505] Step 1:
[1506] The server obtains vacant seat information. It obtains the current seat availability status from the vacant seat information database in real time and updates it. The input is the current seat information in the database, and the output is the latest vacant seat information. This process is performed periodically within the server.
[1507] Step 2:
[1508] The user's device (smart glasses) uses a camera to capture the user's facial image. The input is the facial image taken by the camera, and the output is the captured image data. This image data is passed to the emotion recognition engine.
[1509] Step 3:
[1510] An emotion recognition engine installed on the user's device analyzes facial images to identify emotional states. The input is the captured facial image data, and the output is the recognized emotional state (e.g., tired, wanting to relax, etc.). For emotion recognition, facial feature points are extracted and input into an emotion classification model.
[1511] Step 4:
[1512] Based on the output of the emotion recognition engine, the user's device sends a request to the server to obtain the latest seat availability information. The input is the recognized emotional state and request parameters, and the output is real-time seat availability information. The request is made using the server's REST API.
[1513] Step 5:
[1514] The server receives the request and provides the latest vacant seat information by referencing the vacant seat information database. At the same time, it also generates data to suggest the best seat based on the user's emotional state. The input is the user's emotional state and vacant seat information, and the output is vacant seat information with the best seat suggestion.
[1515] Step 6:
[1516] The user's device receives vacant seat information from the server and displays it on the smart glasses' display. The input is vacant seat information with optimal seat suggestions from the server, and the output is the information displayed on the display. The smart glasses use AR technology to overlay the vacant seat information on the actual store layout.
[1517] Step 7:
[1518] The user checks the best seat through the smart glasses and makes a reservation by voice command. The input is visual information (available seat information) and voice command, and the output is a reservation request. A voice recognition system is used to interpret the user's command.
[1519] Step 8:
[1520] Finally, the server receives the reservation request and updates the reservation database. The input is the reservation request from the user, and the output is the updated reservation information. The server returns a reservation completion message to the user's terminal.
[1521] This allows users to easily find a comfortable seat using the smart glasses, and also enables restaurants to efficiently manage available seats.
[1522] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1523] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1524] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1525] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1526] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1527] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1528] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1529] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1530] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1531] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1532] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1533] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1534] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1535] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1536] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1537] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1538] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1539] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1540] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1541] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1542] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1543] The following is further disclosed regarding the above embodiment.
[1544] (Claim 1)
[1545] A means to obtain current vacancy information in real time;
[1546] A means for updating the seat status based on the acquired vacant seat information;
[1547] means for providing vacant seat information to a user's terminal;
[1548] a means for managing the acquired vacant seat information and reservation information;
[1549] a means for displaying seating layouts and updating seating statuses in the cash register system;
[1550] A system including:
[1551] (Claim 2)
[1552] 2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the available seat information.
[1553] (Claim 3)
[1554] 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user's terminal.
[1555] "Example 1"
[1556] (Claim 1)
[1557] A means for users to obtain vacant seat information through an application using a device such as a smartphone or tablet;
[1558] The server has a database that manages seat information for each store, and provides an API endpoint for processing requests from user terminals and store cash register systems;
[1559] A means for the server to obtain and update vacant seat information in real time;
[1560] A means for the server to manage reservation information and return appropriate responses;
[1561] a means for the server to periodically update the database to reflect real-time availability;
[1562] A means for the cash register system in the store to acquire the latest seat information sent from the server and display it on a display in the store;
[1563] When a store clerk wants to change the seat status, the cash register system has a means for transmitting this information to the server;
[1564] A system including:
[1565] (Claim 2)
[1566] 2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the available seat information.
[1567] (Claim 3)
[1568] 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user's terminal.
[1569] "Application Example 1"
[1570] (Claim 1)
[1571] A means to obtain current vacancy information in real time;
[1572] A means for updating the seat status based on the acquired vacant seat information;
[1573] means for providing vacant seat information to a user's terminal;
[1574] a means for managing the acquired vacant seat information and reservation information;
[1575] a means for displaying seating layouts and updating seating statuses in the cash register system;
[1576] A means for displaying vacant seat information on the smart glasses, allowing a user to check vacant seats within their field of view and make a reservation;
[1577] A system including:
[1578] (Claim 2)
[1579] 2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the available seat information.
[1580] (Claim 3)
[1581] 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user's terminal.
[1582] "Example 2: Combining Emotion Engines"
[1583] (Claim 1)
[1584] A means to obtain current vacancy information in real time;
[1585] A means for updating the seat status based on the acquired vacant seat information;
[1586] means for providing vacant seat information to a user's terminal;
[1587] a means for managing the acquired vacant seat information and reservation information;
[1588] a means for displaying seating layouts and updating seating statuses in the cash register system;
[1589] A means for analyzing the user's emotions and suggesting an appropriate seat according to the user's emotional state;
[1590] A system including:
[1591] (Claim 2)
[1592] 2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the available seat information.
[1593] (Claim 3)
[1594] 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user's terminal.
[1595] "Application example 2 when combining emotion engines"
[1596] (Claim 1)
[1597] A means to obtain current vacancy information in real time;
[1598] A means for updating the seat status based on the acquired vacant seat information;
[1599] means for providing vacant seat information to a user's terminal;
[1600] a means for managing the acquired vacant seat information and reservation information;
[1601] a means for displaying seating layouts and updating seating statuses in the cash register system;
[1602] means for recognizing emotions by analyzing a user's facial expression or voice;
[1603] A means for suggesting the most suitable seat based on the user's emotions;
[1604] A system including:
[1605] (Claim 2)
[1606] 2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the available seat information.
[1607] (Claim 3)
[1608] 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user's terminal. [Explanation of symbols]
[1609] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means to obtain current vacancy information in real time; A means for updating the seat status based on the acquired vacant seat information; means for providing vacant seat information to a user's terminal; a means for managing the acquired vacant seat information and reservation information; a means for displaying seating layouts and updating seating statuses in the cash register system; A system including:
2. The system according to claim 1, further comprising means for suggesting an appropriate seat to the user based on the seat availability information.
3. 2. The system according to claim 1, further comprising means for the server to provide vacant seat information in real time based on a request from a user terminal.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A