Patent Publication Number: US-11651455-B2

Title: Method, information terminal, and non-transitory computer-readable recording medium

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to a method of controlling an information terminal and the like. 
     2. Description of the Related Art 
     Japanese Unexamined Patent Application Publication No. 2005-222191 discloses a technology that offers a menu compatible with personal data on the basis of personal data including user preference information, dangerous ingredient information expressing ingredients the user is prohibited from consuming, and health management information for managing intake. 
     Japanese Unexamined Patent Application Publication No. 2008-299821 discloses a restaurant order reception device, installed in a restaurant, for assisting service work by accepting the input of order information from a menu and the like. The restaurant order reception device in Japanese Unexamined Patent Application Publication No. 2008-299821 is provided with a means for causing a display device to display an order input screen on which menu order information is inputtable. On the order input screen, menu order information is inputted for each individual seat set at a table. 
     SUMMARY 
     One non-limiting and exemplary embodiment provides further improvement over the related art. 
     In one general aspect, the techniques disclosed here feature a method of controlling an information terminal of a user that communicates over a network with a first server that manages classification information indicating a type of vegetarianism to which the user belongs in correspondence with identification information that identifies the user, the method comprising: acquiring a restaurant ID corresponding to a restaurant and a seat ID indicating a seat of the user through a first operation screen displayed on a display of the information terminal of the user, wherein the first operation screen conforms to a common style designed by a matching app of the first server; acquiring, on a basis of the restaurant ID, menu information indicating one or more foods provided by the restaurant over a network from a second server associated with the restaurant corresponding to the restaurant ID; transmitting to the first server the identification information stored in the information terminal to acquire the classification information from the first server on a basis of the identification information; generating, at the information terminal, a personalized menu for the user corresponding to the classification information on a basis of the menu information and the classification information; displaying the personalized menu through a second operation screen for accepting an order of a food to be provided by the restaurant, wherein the second operation screen is customized according to a style designated by the restaurant; and transmitting from the information terminal to the second server i) food order information indicating the food selected from the personalized menu using the second operation screen and ii) the seat ID. 
     According to the above aspect, further improvements may be achieved. 
     It should be noted that general or specific embodiments may be implemented as a system, a method, an integrated circuit, a computer program, a storage medium, or any selective combination thereof. 
     Additional benefits and advantages of the disclosed embodiments will become apparent from the specification and drawings. The benefits and/or advantages may be individually obtained by the various embodiments and features of the specification and drawings, which need not all be provided in order to obtain one or more of such benefits and/or advantages. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a diagram illustrating a configuration of a typical food ordering system; 
         FIG.  2    is a diagram illustrating an example of an overall picture of the information infrastructure of an information processing system according to the present disclosure; 
         FIG.  3    is a diagram illustrating an overall picture of the information processing system according to the present embodiment in further detail; 
         FIG.  4    is a diagram illustrating an example of a specific configuration of the information processing system according to the present embodiment; 
         FIG.  5    is a diagram illustrating the layout of a certain restaurant location (that is, a store). 
         FIG.  6 A  is a diagram illustrating an example of the installation of a QR code (registered trademark; the same applies hereinafter) with respect to a seat; 
         FIG.  6 B  is a diagram illustrating an example of the installation of a QR code with respect to a seat; 
         FIG.  6 C  is a diagram illustrating an example of the installation of QR codes with respect to seats; 
         FIG.  6 D  is a diagram illustrating an example of the installation of QR codes with respect to seats; 
         FIG.  7    is a diagram illustrating an example of an operation screen displayed on an information terminal in a case where a user causes the information terminal to read a QR code; 
         FIG.  8    is a diagram illustrating an example of an operation screen displayed on the information terminal immediately after a QR code reader reads a QR code; 
         FIG.  9    is a diagram illustrating an example of an operation screen including a standard menu of Restaurant A; 
         FIG.  10    is a diagram illustrating an example of a scenario in which a user operates the operation screen to order a food from the standard menu; 
         FIG.  11    is a diagram illustrating an example of an operation screen displayed when making a final confirmation of the food to order from the standard menu; 
         FIG.  12    is a diagram illustrating an example of an authentication screen displayed on the information terminal immediately after the user ordering a food launches a matching app; 
         FIG.  13    is a diagram illustrating another example of the authentication screen; 
         FIG.  14    is a diagram illustrating an example of a home screen displayed immediately after user authentication by the matching app ends; 
         FIG.  15    is a diagram illustrating an example of an operation screen displayed on the information terminal in a case where the user who launched the matching app causes the information terminal to read a QR code corresponding to the user&#39;s seat; 
         FIG.  16    is a diagram illustrating an example of an operation screen displayed on the information terminal in the case of acquiring a restaurant ID and a seat ID through NFC; 
         FIG.  17    is a diagram illustrating an example of a display screen displayed on the information terminal when the matching app is generating a personalized menu; 
         FIG.  18    is a diagram illustrating an example of an operation screen including a personalized menu; 
         FIG.  19    is a diagram illustrating a scenario in which the user operates the operation screen to order a food from the personalized menu; 
         FIG.  20    is a diagram illustrating an example of an operation screen displayed when making a final confirmation of the food to order from the personalized menu; 
         FIG.  21    is a diagram illustrating an example of an order history screen displayed when the user checks the order history so far; 
         FIG.  22    is a table summarizing types of vegetarianism and ingredients that users should avoid according to each type; 
         FIG.  23    is a diagram illustrating an example of a data structure of information including user classification information returned from a first server to the matching app; 
         FIG.  24    is a diagram illustrating an example of a data structure of ingredient information forming menu information returned from a second server; 
         FIG.  25    is a diagram illustrating an example of ingredient information for ramen and vegetable gyoza; 
         FIG.  26    is a sequence diagram illustrating an example of an overall picture of a process by the information processing system according to the present embodiment; 
         FIG.  27    is a flowchart illustrating an example of a process by the information terminal in a case where a food is ordered from the standard menu; 
         FIG.  28    is a flowchart illustrating an example of a process by the information terminal in a case where a food is ordered from the personalized menu; 
         FIG.  29    is a flowchart illustrating details of the process in step S 1  of  FIG.  28   ; 
         FIG.  30    is a flowchart illustrating details of the process in step S 2  of  FIG.  28   ; 
         FIG.  31    is a flowchart illustrating details of the process in step S 3  of  FIG.  28   ; 
         FIG.  32    is a flowchart illustrating details of the process in step S 4  of  FIG.  28   ; 
         FIG.  33    is a diagram illustrating an example of a specific implementation of the information processing system according to the present embodiment; 
         FIG.  34    is a flowchart illustrating an example of a process by the matching app with respect to files from the launching of the matching app until the personalized menu is displayed; 
         FIG.  35    is a diagram illustrating an example of an operation screen including a first variation of the personalized menu; 
         FIG.  36    is a diagram illustrating an example of an operation screen including a second variation of the personalized menu; 
         FIG.  37    is a diagram illustrating an example of an operation screen including grayed-out tile objects; and 
         FIG.  38    is a diagram illustrating an example of an operation screen including a third variation of the personalized menu. 
     
    
    
     DETAILED DESCRIPTION 
     Underlying Knowledge Forming Basis of the Present Disclosure 
     Recently, there has been an increase in the number of people referring to themselves as vegetarians due to increased awareness of the relationship between diet and health, increased awareness of animal welfare, and the like. If a restaurant could offer a menu that mostly includes foods that vegetarians are able to eat to vegetarian customers, customer satisfaction would be improved and the restaurant would be able to differentiate itself from other restaurants. 
     However, even the simple term vegetarian refers to various dietary practices, such as vegan, in which only plant-based products are consumed, lacto vegetarian, in which milk and dairy are consumed in addition to plant-based products, and lacto-ovo vegetarian, in which eggs are also consumed in addition to plant-based products, milk, and dairy. Consequently, it is not easy to offer a menu compatible with these various forms of vegetarianism. 
     Furthermore, if the food ordered by a certain non-vegetarian customer contains an ingredient that should be avoided by vegetarians, and the food is mistakenly served to the seat of a vegetarian customer sitting at the same table, the vegetarian customer will be discomforted. Furthermore, if the vegetarian customer eats the food without realizing what the food contains, there is a risk that the customer&#39;s health may be impaired as a result of eating an ingredient that he or she is unaccustomed to eating. Consequently, it is necessary to avoid such serving mistakes. 
     Japanese Unexamined Patent Application Publication No. 2005-222191 described above discloses the technology below. A user is made to input a user ID and a password into a menu terminal provided at each table in a certain store, a store server acquires personal data about the user and store data about the store from a data center, the store server determines a menu from which problematic ingredients (dangerous ingredients and disliked ingredients) have been removed and a recommended menu (such as a menu containing many foods that the user likes) on the basis of the personal data and the store data, and the menu terminal displays the determined menu. 
     However, in Japanese Unexamined Patent Application Publication No. 2005-222191, as is apparent from how a unique table number if set for each table in the menu terminal, food orders are only considered in units of tables, and there is no consideration for food orders at the seat level. For this reason, with Japanese Unexamined Patent Application Publication No. 2005-222191, there is a possibility that a serving mistake will occur in which a food containing meat or the like ordered by a non-vegetarian customer is mistakenly served to the seat of a vegetarian sitting at the same table. 
     On the other hand, personal data such as preference information is sensitive information, and therefore it is inappropriate to provide such information to third parties without the user&#39;s consent. 
     However, in Japanese Unexamined Patent Application Publication No. 2005-222191, because personal data about the user is transmitted from the data center to the store server, there is also a problem of the personal data being provided to the store side without the user&#39;s consent. 
     Japanese Unexamined Patent Application Publication No. 2008-299821 discloses an order input screen on which it is possible to input and register, with an input device, food order information for each individual seat set at individual tables. The order input screen includes a seat position image including seat objects indicating a plurality of seats and a plurality of food-specifying images corresponding to each food item. For example, an employee touches the seat object of a desired seat from the seat position image, and then touches a food-specifying image corresponding to a desired food item. With this arrangement, the food item individually ordered by the customer sitting in the touched seat is selected. 
     In this way, in Japanese Unexamined Patent Application Publication No. 2008-299821, a seat and a food item are associated by manual input by an employee through the order input screen. For this reason, there is a possibility of incorrect input occurring when associating a seat with a food item. In particular, such incorrect input occurs easily at times when the store is crowded. Furthermore, the order input screen in Japanese Unexamined Patent Application Publication No. 2008-299821 includes various information and objects besides the seat position image and the food-specifying images, as illustrated in FIG. 38 of Japanese Unexamined Patent Application Publication No. 2008-299821. The above also demonstrates that there is a high probability that such incorrect input may occur on the order input screen of Japanese Unexamined Patent Application Publication No. 2008-299821. For this reason, like Japanese Unexamined Patent Application Publication No. 2005-222191, Japanese Unexamined Patent Application Publication No. 2008-299821 is also unable to prevent the serving mistakes described above. 
     The present disclosure has been devised to address the issues described above, and a first objective thereof is to prevent food containing an ingredient that should be avoided by vegetarians from being served to the seat of a vegetarian. 
     Furthermore, a second objective of the present disclosure is to prevent sensitive information stored in a first server from being leaked outside the first server without the user&#39;s consent. 
     A method according to an aspect of the present disclosure is a method of controlling an information terminal of a user that communicates over a network with a first server that manages classification information indicating a type of vegetarianism to which the user belongs in correspondence with identification information that identifies the user, the method comprising: acquiring a restaurant ID corresponding to and a seat ID indicating a seat of the user through a first operation screen displayed on a display of the information terminal of the user, wherein the first operation screen conforms to a common style designed by a matching app of the first server; acquiring, on a basis of the restaurant ID, menu information indicating one or more foods provided by the restaurant over a network from a second server associated with the restaurant corresponding to the restaurant ID; transmitting to the first server the identification information stored in the information terminal to acquire the classification information from the first server on a basis of the identification information; generating, at the information terminal, a personalized menu for the user corresponding to the classification information on a basis of the menu information and the classification information; displaying the personalized menu through a second operation screen for accepting an order of a food to be provided by the restaurant, wherein the second operation screen is customized according to a style designated by the restaurant; and transmitting from the information terminal to the second server i) food order information indicating the food selected from the personalized menu using the second operation screen and ii) the seat ID. 
     According to the above aspect, for example, when ordering a food, a first operation screen is displayed on a display of a user&#39;s information terminal, and a restaurant ID and a seat ID indicating the user&#39;s seat are acquired through the first operation screen. From the acquired restaurant ID, menu information indicating one or more foods provided by the restaurant corresponding to the restaurant ID is acquired from the second server. 
     A personalized menu for the user corresponding to the classification information is generated on the basis of the acquired menu information and the classification information of the user. The personalized menu is displayed on the display of the information terminal through the second operation screen. A food is selected from the displayed personalized menu, and food order information indicating the food is associated with the seat ID and transmitted to the second server. 
     In this way, in this aspect, the food order information indicating the food selected by the user from a personalized menu and the user&#39;s seat are associated automatically without manual intervention as part of the process by which the user orders the food. This arrangement makes it possible to prevent a serving mistake in which a food containing meat or the like ordered by a non-vegetarian user is mistakenly served to the seat of a vegetarian user sitting at the same table. As a result, it is possible to prevent discomfort to the vegetarian user. Furthermore, because such serving mistakes are prevented, it is possible to prevent an impairment to the health of the vegetarian user caused by the vegetarian user mistakenly eating the served food. 
     Furthermore, in this aspect, because the classification information is not transmitted to the second server, the classification information is prevented from being leaked to the restaurant side. Furthermore, in this aspect, because the food order information is transmitted in association with the seat ID rather than the identification information that specifies the user, the identification information is prevented from being leaked to the restaurant side. 
     In the above method, the personalized menu may also be generated by removing or graying out foods containing an ingredient that should be avoided in correspondence with the classification information from among the one or more foods included in the menu information, on the basis of the menu information and the classification information. 
     According to this aspect, because a personalized menu is generated in which foods containing an ingredient (for example, meat) that should be avoided by vegetarian users have been removed or grayed out, the user is able to order a food smoothly without being concerned about whether the foods contain an ingredient that should be avoided, or while recognizing such foods easily. 
     In the above method, the personalized menu may also include a food with an added ingredient containing a nutrient that tends to be deficient in correspondence with the type of vegetarianism. 
     According to this aspect, because a personalized menu including a food with an added ingredient containing a nutrient that tends to be deficient in correspondence with the type of vegetarianism is generated, it is possible to suggest to the user a food capable of supplying a nutrient that tends to be deficient in vegetarian users but is difficult to specify because specialized knowledge is demanded. 
     In the above method, the personalized menu may also include a display indicating a side menu for supplying a nutrient that tends to be deficient in correspondence with the type of vegetarianism. 
     According to this aspect, because a personalized menu displaying a side menu for supplying a nutrient that tends to be deficient in correspondence with the type of vegetarianism is generated, it is possible to suggest to the user a combination of foods capable of supplying a nutrient that tends to be deficient in vegetarian users but is difficult to specify because specialized knowledge is demanded. 
     In the above method, the personalized menu may also include a food with an added ingredient containing a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period. 
     According to this aspect, because a personalized menu including among the one or more foods a food with an added ingredient containing a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period is generated, it is possible to suggest to the user a food capable of supplying a nutrient that has been deficient in the vegetarian user in the predetermined period but is difficult to specify because specialized knowledge is demanded. 
     In the above control method, the personalized menu may also include a display indicating a side menu for supplying a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period. 
     According to this aspect, because a personalized menu displaying a side menu for supplying a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period is generated, it is possible to suggest to the user a combination of foods capable of supplying a nutrient that has been deficient in the vegetarian user in the predetermined period but is difficult to specify because specialized knowledge is demanded. 
     In the above method, the personalized menu may also include a food in which an ingredient that should be avoided in correspondence with the type of vegetarianism has been replaced with a different ingredient. 
     According to this aspect, because a personalized menu including a food in which an ingredient that should be avoided in correspondence with the vegetarian classification information has been replaced with a different ingredient is generated, the variety of foods that the vegetarian user is able to eat on the personalized menu can be increased. 
     In the above method, the different ingredient may include at least one of i) a meat alternative using plant-based ingredients or ii) cultured meat obtained by processing cultured animal cells into a food product. 
     According to this aspect, because a meat alternative using plant-based ingredients or cultured meat is used as the different ingredient replacing the original ingredient, it is possible to suggest a food that can be eaten by a vegetarian user who tolerates the consumption of meat alternatives or a user who became vegetarian from the perspective of animal welfare. 
     In the above method, the different ingredient may also include a nutrient that tends to be deficient in correspondence with the type of vegetarianism. 
     According to this aspect, because an ingredient containing a nutrient that tends to be deficient in correspondence with the vegetarian classification information is used as the different ingredient replacing the original ingredient, it is possible to suggest a food in consideration of the health of the vegetarian. 
     In the above method, the classification information may include i) the type of vegetarianism to which the user belongs, and ii) level information indicating the degree to which to avoid an ingredient that should be avoided in correspondence with the type of vegetarianism. 
     According to this aspect, the classification information includes the type of vegetarianism to which the user belongs as well as level information indicating the degree to which to avoid an ingredient that should be avoided in correspondence with the vegetarian classification information. Consequently, the priority of each food included in the menu information can be determined finely and a personalized menu can be generated with consideration for the type of vegetarianism as well as the degree to which an ingredient should be avoided. 
     In the above method, when an instruction of switching from the display of the personalized menu to the display of the regular menu of the restaurant is received, the regular menu may be displayed through the second operation screen. 
     Depending on the vegetarian user, some users may stop being vegetarian when dining with friends, or be vegetarian only on the weekends, for example. According to this aspect, because the second operation screen is switchable from the personalized menu to the regular menu, it is possible to accommodate the needs of such users flexibly. 
     In the above method, the personalized menu may also include foods containing an ingredient that the user should avoid as much as possible. 
     According to this aspect, because the personalized menu includes foods containing an ingredient that the user should avoid as much as possible, a personalized menu can be generated to meet the needs of users who do not strictly adhere to vegetarianism. 
     In the above method, the types of vegetarianism may include i) vegan, ii) lacto vegetarian, iii) ovo vegetarian, and iv) lacto-ovo vegetarian. 
     According to this aspect, because vegan, lacto vegetarian, ovo vegetarian, and lacto-ovo vegetarian are adopted as the types of vegetarianism, a suitable personalized menu can be generated finely according to these types. 
     In the above method, the identification information may also include a user ID. 
     According to this aspect, because the identification information includes a user ID, the classification information corresponding to the user can be acquired with certainty from the first server. 
     In the above method, the first server may also be distinct from the second server. 
     Sensitive information about the user, such as the classification information of the user, is stored in the first server. It is not preferable for such sensitive information to be provided outside the first server without the user&#39;s consent. In this aspect, the first server is configured as a different server from the second server. Consequently, sensitive information about the user is prevented from being leaked outside the first server. 
     In the above method, the restaurant ID and the seat ID may also be acquired through the first operation screen by reading an identification code prepared at a corresponding position at the table where the user sits. 
     According to this aspect, the restaurant ID and the seat ID are acquired by reading an identification code prepared at a corresponding position at the table where the user sits. With this arrangement, the restaurant ID and the seat ID can be acquired without being input manually by the user. 
     In the above control method, the identification code may include a QR code. 
     According to this aspect, because the identification code is a QR code, the information can be acquired without being input manually by the user. 
     In the above method, the identification code may also be read using Near Field Communication (NFC). 
     According to this aspect, because the identification code is read using NFC, the information can be acquired without being input manually by the user. 
     In the above method, the first server may also distributively manage biometric information, the classification information, and activity history information including position information about the user. 
     According to this aspect, because the biometric information, the classification information, and the activity history information is distributively managed, the first server is capable of acquiring personal information about the user as needed. As a result, this aspect makes it possible to preserve the freshness of the personal information stored in the first server, and thereby prevent a personalized menu from being created on the basis of outdated classification information. 
     The above method may also be executed in the information terminal. The above method may also be a program executed by a computer in the information terminal, or a recording medium storing the program. 
     According to these configurations, an information terminal and a program that execute the method described above can be provided. 
     In the above program, the identification information that identifies the user may also include a serial code for each information terminal assigned to the program. 
     According to this configuration, because a serial code for each information terminal assigned to the program is adopted, the identification information can be configured as information with a higher degree of anonymity. 
     Embodiment 
     The Internet is expected to become even more widespread in society in the future, with various types of sensors becoming commonplace. Accordingly, in society, information related to the states and activities of individuals as well as information about a city as a whole, including features such as buildings and traffic, is anticipated to become digitized and usable by computer systems. Digitized data related to individuals (personal information) is accumulated in the cloud through communication networks, managed in information banks as big data, and used for various purposes for individuals. 
     Such a highly information-oriented society is referred to as Society 5.0 in Japan. A highly information-oriented society is one in which economic advancement and the resolution of social issues are anticipated through an information infrastructure (cyber-physical system) that highly integrates real space (physical space) and virtual space (cyberspace). 
     In such a highly information-oriented society, when an individual makes decisions in various daily scenarios, big data including accumulated personal information is analyzed to enable the individual to know which choices are considered optimal for the individual according to the situation at the time. 
     Hereinafter, individual eating habits will be treated as a theme to describe a configuration that achieves improved economic efficiency and individual optimization (personalization) in a highly information-oriented society in which such a cyber-physical system operates. 
     As an example of a personalized food ordering system, it is conceivable to transmit menu information from a store terminal of a restaurant to an information terminal of an individual, and present a menu of foods that do not contain an ingredient such as meat that should be avoided by a vegetarian user on a mobile terminal as a recommended menu. First, a typical food ordering system expected to be constructed in a society before the highly information-oriented society described is proposed will be described. 
       FIG.  1    is a diagram illustrating a configuration of a typical food ordering system. The ordering system includes a store terminal  1100  and a mobile terminal  1200 . The store terminal  1100  and the mobile terminal  1200  are installed inside a restaurant location (hereinafter referred to as a “store”)  1000 . The store terminal  1100  is a computer that transmits menu information. The store terminal  1100  includes a communication unit for communicating with external equipment, an arithmetic unit for performing arithmetic processing, a memory for storing data, and a UI unit for displaying and manipulating information. The memory stores menu information  1101 . The menu information  1101  includes information related to foods that the restaurant provides. Specifically, the menu information  1101  includes the names of foods, the ingredients used in the foods, and the prices of the foods. In the example of  FIG.  1   , the menu information  1101  includes the four foods of beef Hamburg steak, seafood pasta, beef curry, and spinach gratin. 
     The mobile terminal  1200  is a mobile terminal such as a smartphone carried by a user visiting the store  1000 . The mobile terminal  1200  includes a communication unit for communicating with external equipment, an arithmetic unit for performing arithmetic processing, a memory for storing data, and a UI unit for displaying and manipulating information. The memory stores information such as classification information indicating the type of vegetarianism to which the user belongs and meal history information about the user who carries the mobile terminal  1200 . The classification information includes information related to ingredients that should be avoided by the user according to type. 
     When the user enters the store  1000 , the store terminal  1100  and the mobile terminal  1200  initiate communication automatically or manually. The mobile terminal  1200  that has initiated communication acquires the menu information  1101  from the store terminal  1100 . The mobile terminal  1200  acquiring the menu information  1101  cross-references the menu information with the classification information stored in the memory, and extracts foods that do not contain ingredients that should be avoided by the user. The mobile terminal  1200  generates a recommended menu  1211  on the basis of the extracted foods, and displays the recommended menu  1211  on the UI unit. In the example of  FIG.  1   , beef is an ingredient that should be avoided by the user, and therefore the food that does not contain beef, namely spinach gratin, is displayed as the recommended menu  1211 . 
     According to the above configuration, the user is able to select, from the displayed recommended menu, a food that does not contain an ingredient that should be avoided. 
     In Society 5.0, personal information such as classification information is anonymized such that an individual is not identified by a third party and managed exclusively by a server of a business referred to as an information bank that manages personal information. The personal information is continually updated under the management of the information bank, without depending on manual input from the user. 
     However, in the ordering system illustrated in  FIG.  1   , the classification information is managed by the mobile terminal  1200  and is not managed by a server. Consequently, in the ordering system illustrated in  FIG.  1   , updating the classification information is not easy. For example, updating the classification information involves requesting the user to manually input classification information into the mobile terminal  1200 , which is burdensome for the user. Furthermore, because the classification information is not anonymized, there is also a possibility that the classification information may be leaked to the store terminal  1100 . Consequently, further improvements are needed to make the ordering system illustrated in  FIG.  1    compatible with the highly information-oriented society called for by Society 5.0. Accordingly, the present embodiment proposes an information processing system in accordance with Society 5.0. Hereinafter, the information processing system according to the embodiment of the present disclosure will be described with reference to the drawings. 
       FIG.  2    is a diagram illustrating an example of an overall picture of the information infrastructure of the information processing system according to the present disclosure. The information processing system in  FIG.  2    is a system configured in accordance with Society 5.0, and is a system that provides a selection assistance service that uses personal information to suggest a product or service suited to a user acting as a consumer, and thereby helps the user to select a product or service. The present embodiment mostly focuses on a service that assists with ordering a food as the selection assistance service, but before describing the service,  FIG.  2    will be used to describe an overall picture of the information infrastructure for achieving the present embodiment. The information processing system is roughly divided into three equipment groups. 
     The first equipment group includes an information terminal  100  such as a smartphone carried by the user. A matching application is installed on the information terminal  100 . The matching application (hereinafter referred to as the matching app) is an application for choosing or recommending a product or service suited to the user by using personal information about the user. The personal information referred to herein broadly encompasses publicly disclosed and non-publicly disclosed information related to an individual. For example, the personal information includes at least one of a name, a birth date, a home address, an annual income, owned property/real estate information, physical information such as height/weight, genetic information, classification information, medical information such as a medical history/medical records, activity information such as a number of steps/burned calories, meal history information, vital sign information such as heart rate/blood pressure, purchase information about purchases made at stores/EC sites or the like, keyword information used to perform searches through a Web search engine/AI speaker, text/audiovisual information transmitted or received through email/SNS, or movement history information. The information terminal  100  is connectible to the Internet through a mobile base station  400  by mobile communication referred to as 4G or 5G, for example. 
     The second equipment group includes a first server  200 . The first server  200  is a personal information server in which the user&#39;s personal information is distributed among multiple locations, and the distributed personal information is additionally encrypted and stored. For example, the first server  200  manages the personal information by fragmenting and encrypting the user&#39;s personal information for storage on a plurality of storage devices in the cloud. With this arrangement, a high level of security is ensured, and the leakage or the like of the personal information is prevented. Furthermore, the first server  200  has a function of returning relevant data in response to a query from a third party, according to the consent of the user in question. Furthermore, the first server  200  has a function of securely sharing personal information for which the user has given consent with a business for which the user has given consent. In other words, the first server  200  functions as an information bank. In this case, the first server  200  distributively records a single piece of data in a plurality of storage devices, for example. An example of a single piece of data is a single file in which personal information is recorded. 
     In the present embodiment, the first server  200  shares specific personal information with a specific business on the basis of consent by the user. Furthermore, the first server  200  has a function for providing the selection assistance service described below. 
     The matching app described above is developed and/or distributed by the company that manages the first server  200 , for example. The managing company uses the user&#39;s personal information to evaluate the user&#39;s compatibility with respect to a product or service that the user may possibly use. The company that manages the first server  200 , the company that develops the matching app, and the company that distributes the matching app may be the same company or different companies. The information processing system illustrated in  FIG.  2    uses the matching app described above to achieve the selection assistance service, but this is merely an example. For instance, the selection assistance service may also be achieved by using an app other than the matching app, a typical browser, or the like. To handle the user&#39;s personal information securely, it is preferable to provide the selection assistance service through a dedicated app such as the matching app. However, this is merely an example, and in the case of handling personal information with a low level of security, such as publicly disclosed personal information for example, or in the case where a function for ensuring security is provided, the selection assistance service may also be provided by a means other than the matching app. 
     The matching app only handles personal information internally in the information terminal  100 . For example, the matching app presents products or services thought to be optimal for the user under given conditions such as the time, place, and circumstances. For example, the matching app provides an intermediary function for facilitating economic activity such as purchasing by the user. 
     The matching app that openly discloses recommendation functions that have hitherto been siloed for each service business. An example will be described in terms of an electronic transaction marketplace such as an EC site, which is one well-known example of a service business. Many products are listed on the websites of such a service business. If a user searches for or buys a specific product, other products correlated with the specific product (for example, products that are often purchased together) are recommended to the user. Such a recommendation function related to purchasing is only valid on the EC site of that service business. Consequently, the recommendation function does not exhibit any effect when the user buys a product on an EC site operated by another service business, orders food at a restaurant, or plans a family trip for the holidays. 
     In the future, it is expected that personal information will be aggregated in information banks, and a mechanism allowing anyone to access enormous and diverse personal information that is accurate over a long period under predetermined conditions will be established. In this case, it is possible to use a search or purchase history from an EC site of a certain service business as well as various personal information about the user to estimate the degree of compatibility with respect to all kinds of products and services, and not just the products offered by the service business. With this arrangement, it is possible to recommend products and services that are more valuable to the user from among various options. 
     To achieve a concept or function like the above, the first server  200  envisioned by the present embodiment is a general-purpose storage device provided in the cloud that distributes and encrypts personal information. 
     The third equipment group includes second servers  300  with which each business manages data specific to each business. In  FIG.  2   , three businesses referred to as Business X, Business Y, and Business Z each own or rent a second server  300  to manage and/or provide information related to each company&#39;s own products and/or each company&#39;s own services. The businesses are not limited to just dining businesses as described in detail in the present disclosure. For example, the businesses may also be home meal replacement businesses where prepared foods are available for takeout, such as caterers and fast food establishments. Furthermore, the businesses may also be home cooking-oriented businesses mainly focused on the preparation of food at home, such as supermarkets. Furthermore, the businesses may also be automobile manufacturers, real estate companies, hospitals and clinics, schools, tutoring schools for academic studies or sports, law offices, and businesses that provide products and/or services to general consumers. 
     One effect of the information processing system according to the present embodiment is that personal information is not handed over to a business. In an information bank, it is anticipated that the sharing of personal information with a specific business may be allowed on the basis of the consent of the person in question. 
     However, asking the user to make individual decisions about the management of personal information is highly burdensome. Even if the trustee decides on a data management policy, the user may be unable to specifically grasp which data is handed over to whom, and the user may feel a sense of uneasiness. 
     Accordingly, in the present embodiment, the business that manages the first server  200  is forbidden or restricted from using stored personal information, such as decrypting and interpreting personal information for example, unless the user gives consent. 
     Furthermore, in the case where an information bank or an information intermediary that manages personal information and provides the matching app under a strict privacy management policy enters the market, the user may enter into an agreement to receive services provided by the information bank or the information intermediary. This arrangement makes it possible to keep personal information from being handed over to another business. 
     The information processing system according to the present embodiment is one configuration of a management system for a next-generation information society capable of lowering the possibility that personal information including sensitive information may be divulged to a third party other than the person in question, and also using enormous amounts of ever-changing personal information to match the user with various services. Hereinafter, an information processing system will be described under the above assumptions. 
       FIG.  3    is a diagram illustrating an overall picture of the information processing system according to the present embodiment in further detail. The information processing system illustrated in  FIG.  3    matches menu information that a user views to order a food when dining out with personal information about the user, and presents an optimal menu for the user. The information processing system illustrated in  FIG.  3    includes the information processing system illustrated in  FIG.  2    with the addition of a biometric sensor  600  and a public information server  500 . 
     As the businesses on the service-providing side, companies in the dining industry referred to as Restaurant A, Restaurant B, and Restaurant C are assumed. Restaurant A, Restaurant B, and Restaurant C are respectively different companies. The information processing system illustrated in  FIG.  3    includes a second server  300  managed by Restaurant A, a second server  300  managed by Restaurant B, and a second server  300  managed by Restaurant C. Menu information for each restaurant and information related to each store are managed by the second servers  300 . The second servers  300  are cloud servers, for example. 
     The public information server  500  manages information related to restaurants and public information different from personal information. The public information server  500  is connected to the Internet. For example, the public information includes weather information and traffic information. The information is used appropriately when relevant to matching. 
     The biometric sensor  600  is a biometric sensor such as a smartwatch. The biometric sensor  600  is worn by the user carrying the information terminal  100 . The biometric sensor  600  continually calculates vital sign information about the user. The various vital sign information calculated by the biometric sensor  600  is transmitted from the biometric sensor  600  to the information terminal  100  by short-range communication such as Bluetooth (registered trademark). The vital sign information is stored and/or managed by a sensor app installed in the information terminal  100 . The sensor app uploads collected vital sign information and time information indicating the measurement time of the vital sign information to the first server  200  according to user account information. With this arrangement, the vital signal information is accumulated. 
     The sensor app may also grant access rights with respect to the data to be stored and/or managed to the matching app or an operating system (OS) of the information terminal  100 . In this case, the vital sign information is uploaded to the first server  200  through the matching app or the OS. The sensor app may store the vital sign information in a memory of the information terminal  100 , or upload the vital sign information to the first server  200  for storage. 
       FIG.  4    is a diagram illustrating an example of a specific configuration of the information processing system according to the present embodiment. The information processing system illustrated in  FIG.  4    includes the information terminal  100 , the first server  200 , and the second servers  300  described with reference to  FIGS.  2  and  3   . Note that in  FIG.  4   , the mobile base station  400  and the biometric sensor  600  are omitted from illustration for convenience. The information terminal  100 , the first server  200 , and the second servers  300  are communicably interconnected through a network NT. The network NT is a wide area network, including a mobile phone communication network and the Internet. 
     The information terminal  100  is a portable information processing device such as a smartphone or tablet. In the present embodiment, the information terminal  100  is carried by a user who orders food at a restaurant location (that is, a store). The information terminal  100  includes a communication unit  101 , a memory  102 , a camera  103 , an arithmetic unit  104 , a display  105 , an operation unit  106 , and a short-range communication unit  107 . 
     The communication unit  101  is a communication circuit that connects the information terminal  100  to the network NT. The communication unit  101  receives menu information described later that is transmitted from the second servers  300 , and causes the received menu information to be stored in the memory  102 . The arithmetic unit  104  performs a process of reading out the menu information stored in the memory  102 . Additionally, the communication unit  101  receives classification information described later that is transmitted from the first server  200 , and causes the received classification information to be stored in the memory  102 . The arithmetic unit  104  performs a process of reading out the classification information stored in the memory  102 . With this arrangement, the arithmetic unit  104  acquires the classification information and the menu information. Furthermore, under control by the arithmetic unit  104 , the communication unit  101  transmits food order information described later and a seat ID described later in association with each other to one of the second servers  300 . 
     The memory  102  is a non-volatile storage device such as flash memory. The memory  102  stores information  2300  including classification information as exemplified in  FIG.  23    and ingredient information  2400  as exemplified in  FIGS.  24  and  25   . One set of ingredient information  2400  corresponds to one food, and is information related to the ingredients used in the food. The menu information contains one or more sets of ingredient information  2400 . The information  2300  and the ingredient information  2400  will be described in detail later. Moreover, the memory  102  stores identification information that specifies the user. The identification information includes a user identifier (ID). The user ID is an identifier for the user. 
     The camera  103  is an imaging device including a CMOS sensor or the like. The camera  103  is used to capture a QR code attached to a seat at a restaurant location (that is, a store). 
     The arithmetic unit  104  is a processor such as a CPU. The arithmetic unit  104  executes software such as the OS of the information terminal  100 , the matching app described above, a QR code reader, and a browser. 
     The arithmetic unit  104  acquires a restaurant ID and a seat ID indicating the user&#39;s seat through a first operation screen displayed on the display  105 . The first operation screen is an operation screen for reading a QR code provided by the matching app as illustrated in  FIG.  15    or an operation screen for reading information by NFC as illustrated in  FIG.  16   , for example. The restaurant ID is an identifier for a restaurant. In the case where a restaurant has multiple locations (that is, stores), the restaurant ID may include an identifier for the restaurant and an identifier for the store. The seat ID is an identifier for a seat disposed in a store. The arithmetic unit  104  may acquire the restaurant ID and the seat ID by analyzing a QR code captured by the camera  103  when the user inputs a capture instruction into the operation unit  106 . Alternatively, in the case where the information terminal  100  is brought close to an NFC IC chip disposed in each seat of a restaurant while the matching app is active, the arithmetic unit  104  may acquire the restaurant ID and the seat ID from the IC chip through the short-range communication unit  107 . 
     The arithmetic unit  104  acquires menu information indicating one or more foods provided by the restaurant corresponding to the restaurant ID from the second server  300  of the restaurant over the network NT, and stores the acquired menu information in the memory  102 . For example, in the case where the restaurant ID includes an identifier for Restaurant A, menu information is acquired from the second server  300  of Restaurant A. 
     The arithmetic unit  104  transmits the identification information stored in the memory  102  to the first server  200 , acquires the classification information of the user from the first server  200  on the basis of the identification information, and stores the acquired classification information in the memory  102 . 
     The arithmetic unit  104  generates a personalized menu for the user corresponding to the classification information on the basis of the acquired menu information and the acquired classification information. The arithmetic unit  104  generates the personalized menu by removing or graying out foods containing an ingredient that should be avoided in correspondence with the classification information from among the foods included in the acquired menu information. With this arrangement, the user is able to smoothly order a food that does not contain an ingredient that should be avoided. 
     The arithmetic unit  104  displays the personalized menu through a second operation screen displayed on the display  105 . The second operation screen is an operation screen by which the restaurant receives an order of food from the user as illustrated in  FIG.  18    for example, and is provided through a matching app on the basis of a design designated by the restaurant. The user orders a food by inputting an operation of selecting the desired food from the personalized menu displayed on the second operation screen. 
     The arithmetic unit  104  transmits food order information indicating the food selected from the personalized menu and the seat ID in association with each other to the second server  300  through the communication unit  101 . The food order information and the seat ID transmitted to the second server  300  are displayed on a display installed in the restaurant location (that is, store) corresponding to the destination second server  300 . An employee of the store prepares the food ordered by the user in accordance with the displayed content, and carries the prepared food to the user&#39;s seat. With this arrangement, the user is able to eat the ordered food. 
     The display  105  is a display panel such as a liquid crystal display (LCD) panel or an organic electroluminescence (OLED) panel for example, and displays various images. For example, the display  105  displays the first operation screen and the second operation screen described above. 
     The operation unit  106  is an input device such as a touch panel, for example. The operation unit  106  receives an instruction regarding the selection of a desired food by the user from the personalized menu. 
     The short-range communication unit  107  is a communication circuit provided with an NFC communication function, and is capable of reading information from an IC chip having a NFC communication function and also writing information to the IC chip. 
     This concludes the description of the configuration of the information terminal  100 . 
     Next, the configuration of the first server  200  will be described. The first server  200  includes a communication unit  201 , an arithmetic unit  202 , and a memory  203 . The communication unit  201  is a communication circuit for connecting the first server  200  to the network NT. The communication unit  201  transmits the classification information to the information terminal  100  in response to a request from the information terminal  100 . The arithmetic unit  202  is a processor such as a CPU. The arithmetic unit  202  processes personal information about the user stored in the memory  203 . 
     The memory  203  is a plurality of non-volatile storage devices such as hard disk drives. The memory  203  stores personal information about one or more users. The personal information includes classification information about each user. The personal information is stored distributively in an encrypted form in the plurality of storage devices. 
     The personal information stored by the memory  203  may also include biometric information, purchase history information, preference information, and activity history information. The biometric information is information related to the user&#39;s body, such as heart rate. The biometric information includes information about the user&#39;s allergies or the like. The purchase history information is information indicating a purchase history of products (goods) or services purchased by each user. The preference information is information indicating the preferences of each user. The preference information includes order history information indicating an order history of foods ordered by each user. The activity history information is information indicating an activity history of each user. For example, the activity history information includes time series data in which user position information and time information are associated. 
     Next, the configuration of the second servers  300  will be described. One or a plurality of the second servers  300  exist in correspondence with each restaurant company. Each second server  300  includes a communication unit  301 , an arithmetic unit  302 , and a memory  303 . The communication unit  301  is a communication circuit for connecting the second server  300  to the network NT. The communication unit  301  transmits the menu information to the information terminal  100  in response to a request from the information terminal  100 . The arithmetic unit  302  is a processor such as a CPU. The arithmetic unit  302  processes menu information stored in the memory  303 . The memory  303  is a non-volatile storage device such as a hard disk drive. The memory  303  stores the menu information. 
       FIG.  5    is a diagram illustrating the layout of a certain restaurant location (that is, store). In the example of  FIG.  5   , the layout of a store  40  of Restaurant A is illustrated. Four tables  410  are installed in the store  40 . At each table  410 , four chairs  411 ,  412 ,  413 , and  414  are installed. 
     If two or more users sit down at a single table  410 , a vegetarian user may be present among the users. In such cases, it is imperative to avoid mistakenly serving a food ordered by a non-vegetarian user to the vegetarian user. This is because if a food containing an ingredient that should be avoided by the vegetarian user is mistakenly served to the vegetarian user, there is a possibility of discomforting the user, and furthermore, if the vegetarian user eats the mistakenly served food, there is a possibility that the vegetarian user&#39;s health may be impaired as a result of eating an ingredient that he or she is unaccustomed to eating. 
     To avoid such mistakes, an appropriate mechanism for associating a user with a food ordered by the user is necessary. However, the solutions for avoiding such mistakes are limited at present. In particular, a solution applicable to the store of a typical restaurant as illustrated in  FIG.  5    does not exist. Currently, in small-scale stores where a counter with individually numbered seats is installed, such association has been attempted, but because the association is made manually using an order slip or an order input terminal, serving mistakes are not fully addressed. 
     The present embodiment provides a mechanism for associating and managing a user and a food ordered by the user more reliably. Hereinafter, a specific example for achieving the mechanism will be described. In the present embodiment, a QR code is installed with respect to each seat in the store  40 .  FIGS.  6 A,  6 B,  6 C, and  6 D  are diagrams illustrating examples of installing a QR code  601  with respect to a seat. In the example of  FIG.  6 A , the QR code  601  is placed on the upper surface of the backrest of each chair in the store. The QR code  601  contains the restaurant ID and the seat ID of each seat as described above. Here, a QR code is used, but this is merely an example, and any type of information may be adopted insofar as the information can be used to identify the restaurant ID and the seat ID, such as a barcode. 
     In the example of  FIG.  6 B , the QR code  601  is placed on a side surface of the seat portion of each chair. By placing the QR code  601  on the side surface of the seat portion, the user operation performed when reading the QR code  601  is easy to perform. 
     In the example of  FIG.  6 C , the QR code  601  is placed on the sides of the table (for example, the surfaces facing the chairs) rather than on the chairs. In this example, the table seats four people, and therefore four QR codes  601  corresponding to each seat are placed on the sides of the table. 
     In the example of  FIG.  6 D , the QR code  601  is placed on the surface of the tabletop. In this example, the table seats four people, and therefore four QR codes  601  corresponding to each seat are placed on the surface of the tabletop. By placing the QR code  601  on the surface of the tabletop, the user is able to notice the existence of the QR code  601  easily. 
     The QR code prepared for each seat is used by the information terminal  100  of the user ordering a food to acquire the menu information of the store. Hereinafter, a method of ordering a food using the QR code and the information terminal  100  will be described sequentially in detail. In the present embodiment, ordering a food includes the case of ordering from a standard menu and the case of ordering from a personalized menu. 
     Note that in  FIG.  6   , the QR code  601  is placed with respect to each seat, but in the case of adopting a configuration that acquires the restaurant ID and the seat ID by NFC, an IC chip including an NFC communication function is adopted instead of the QR code  601 . 
     Ordering from Standard Menu 
     The standard menu is used in the case where a non-vegetarian user orders a food. The standard menu is a menu that includes typical foods provided to users at the store. Hereinafter, the process of ordering a food from the standard menu will be described using various screens displayed on the information terminal  100 . 
     The process of ordering from the standard menu corresponds to the flowchart in  FIG.  27   , and accordingly the following description makes reference to the flowchart in  FIG.  27    when appropriate. First, a QR code reader is launched, and the QR code reader reads the QR code corresponding to the seat where the user is sitting. This process corresponds to step S 11  of  FIG.  27   . 
       FIG.  7    is a diagram illustrating an example of an operation screen G 1  displayed on the information terminal  100  in the case where the user causes the information terminal  100  to read the QR code. The operation screen G 1  is displayed in a situation where a user who has entered the store of a restaurant and sat down causes the information terminal  100  to read the QR code corresponding to the seat (the user&#39;s seat) where the user sat down. The QR code corresponding to the user&#39;s seat is placed in one of the configurations illustrated in  FIGS.  6 A to  6 D . The seated user takes out the information terminal  100  and causes the information terminal  100  to read the QR code corresponding to the user&#39;s seat to acquire the standard menu of the store of the restaurant. The reading of the QR code is achieved using a preinstalled general-purpose QR code reading app referred to as a “QR code reader”.  FIG.  7    illustrates the operation screen G 1  while the user is in the middle of performing an operation of aligning the focus information terminal  100  with the QR code corresponding to the user&#39;s seat. The user adjusts the direction and position of the information terminal  100  such that the QR code  601  is contained inside guide lines  701  (the dashed-line square in the drawing) of the QR code reader. Near the QR code  601  placed for each seat, the information “Seat Number 18” used by the user or the staff of the store to specify the seat and an explanation of the purpose of the QR code  601  (in the drawing, “Personal Matching QR Code” are also placed. Consequently, an image expressing “Seat Number 18” and an image expressing “Personal Matching QR Code” are also displayed on the operation screen G 1 . 
     Next, the menu information of Restaurant A is acquired from the QR code read by the QR code reader, and a standard menu is generated on the basis of the menu information and displayed on the information terminal  100 . 
     This process corresponds to step S 12  of  FIG.  27   .  FIG.  8    is a diagram illustrating an example of an operation screen G 2  displayed on the information terminal  100  immediately after the QR code reader reads the QR code. On the operation screen G 2 , a character string obtained as a result of the QR code reader successfully reading the QR code is displayed. In this example, the character string “http://restaurantA.com/QRorder-18” is obtained as the result of reading the QR code. The operation screen G 2  includes a button  801  labeled “Open in Browser” and a button  802  labeled “Send Email”. The button  801  is a button selected in the case where the user interprets the character string obtained as the result of reading the QR code to be a URL. When the button  801  is touched, an Internet browser is launched and a web page indicated by the URL is displayed on the information terminal  100 . 
     The button  802  is a button selected in the case where the user interprets the character string obtained as the result of reading the QR code to be an email address. When the button  802  is touched, an email app is launched. Here, the button  801  is touched to view the standard menu. 
     When ordering a food from the standard menu, it is not necessary to install a specific app on the information terminal  100 , and the QR code reader and the browser are sufficient. Consequently, ordering a food using the standard menu is easy for many users. 
     From destination information (for example, the portion of the domain name “restaurantA.com”) included in the character string (for example, a URL) read by the QR code reader, the browser can specify that the destination is Restaurant A, or in other words specify the restaurant ID. Because the numeral at the end of the requested URL is 18, the second server  300  can specify that the request is coming from the browser of the information terminal  100  that read the QR code of the seat with the seat number “18”. The character string illustrated in  FIG.  8    does not include the store ID of the store  40 , but the store  40  (Store-A) may also be explicitly included. In this case, the character string signified by the QR code is expressed as “http://restaurantA.com/Store-A/QRorder-18”, for example. The browser of the information terminal  100  acquires destination information requested in this way. 
       FIG.  9    is a diagram illustrating an example of an operation screen G 3  including a standard menu of Restaurant A. The operation screen G 3  is displayed in the case where menu information is received by the information terminal  100 . The standard menu includes the food included in the menu information as-is, and does not correspond to the user&#39;s classification information. The menu information may be the same information as the menu information used when generating a personalized menu, or different information. 
     On the operation screen G 3 , a plurality of tile objects  901  are arranged in a matrix. The standard menu is formed by the plurality of tile objects  901 . One tile object  901  corresponds to one food included on the standard menu. Each tile object  901  includes the name of the food, the price of the food, and an image of the food. On the operation screen G 3 , the standard menu scrolls in response to a scrolling operation performed by the user. With this arrangement, other foods that could not be displayed all at once on the operation screen G 3  are displayed. In this way, by performing a scrolling operation, the user is able to view all of the foods included on the standard menu. 
     The operation screen G 3  is displayed by having the browser connect to the URL (for example, http://restaurantA.com/QRorder-18) indicated by the character string obtained as the result of reading the QR code, and by having the browser receive the menu information from the second server  300  of Restaurant A. 
     For example, the browser of the information terminal  100  connects to the above URL and transmits an HTTP requests for an HTML file for drawing the standard menu of Restaurant A, receives an HTTP response from the second server  300  of Restaurant A, and draws the operation screen G 3  including the standard menu according to the received HTTP response. However, the embodiment is merely an example, and the drawing of the operation screen G 3  may also be achieved by another technical means. 
     Next, a food is selected by the user from the displayed standard menu. This process corresponds to step S 13  of  FIG.  27   . 
       FIG.  10    is a diagram illustrating an example of a scenario in which a user operates the operation screen G 3  to order a food from the standard menu. As the drawing indicates, the user can decide on a food to order by performing a touch operation using a pointing object  1001  such as a finger. For example, if the information terminal  100  detects that a tile object  901 A corresponding to the food “Ramen B Set” has been touched once, the color of the tile object  901 A changes from a default first color to a second color indicating that the tile object  901 A has been selected. At this time, the information terminal  100  displays “1” indicating the quantity of the “Ramen B Set” to be ordered in the upper-right corner of the tile object  901 A, for example. The above therefore demonstrates that the food “Ramen B Set” has been selected from the standard menu in this example. Because the user is able to order a food by touching the tile object  901  corresponding to each food, the user is able to order a food intuitively and easily with a familiar sense of operation. 
     Note that although the color of the tile object  901  is changed when the user selects a food to be ordered, the configuration is not limited thereto. For example, a pattern of the tile object  901  may be changed from a first pattern to a second pattern when the tile object  901  is selected by the user. Alternatively, the color and the pattern of the tile object  901  may be changed from a first color and pattern to a second color and pattern when the tile object  901  is selected by the user. 
       FIG.  11    is a diagram illustrating an example of an operation screen G 4  displayed when making a final confirmation of the food to order from the standard menu. The operation screen G 4  is displayed in the case where an Order button (not illustrated in  FIG.  9   ) is touched by the user who has decided which food to order on the operation screen G 3 . The operation screen G 4  includes a tile object  901 A corresponding to the food selected on the operation screen G 3 , a total amount field  1011  indicating the total amount (for example 1,100 yen) of the ordered food, and an Order button  1012  for confirming the order. In this way, because a list of the food to be ordered, the quantity of each food, and the total amount of the food to be ordered are displayed on the operation screen G 4 , the user is able to check the order content efficiently on a single screen. After checking the order content and finding no problems, the user touches the Order button  1012  near the bottom of the operation screen G 4 . With this arrangement, the order of food is confirmed. Furthermore, because the seat number “18” is indicated on the Order button, the user is able to order the food with confirmation that the food will be served to the user&#39;s seat. When the Order button  1012  is touched, the information terminal  100  transmits an order request in which the seat ID (in the example of  FIG.  11   , the seat number “18”) read from the QR code is associated with food order information indicating the selected food to the second server  300  of Restaurant A. With the above, the process of ordering from the standard menu is completed. This process corresponds to step S 14  of  FIG.  27   . 
     The process of ordering from the standard menu for general customers is performed as described above. In this process of ordering, the user who orders a food causes the information terminal  100  to read a QR code and display the standard menu of Restaurant A in a browser, and orders a food through the standard menu. Consequently, the time and effort of pre-installing a specific app in the information terminal  100 , such as an app distributed by Restaurant A, is saved. Therefore, the user is able to enjoy the service immediately using the information terminal  100 , and the service is used by many users. In addition, the user is able to select and order a desired food easily from the standard menu with an intuitive operation. Furthermore, the zoom level of the operation screen G 3  is adjusted by a pinch operation. Consequently, even a vision-impaired user is able to check the foods included on the standard menu easily. Furthermore, the user is also able to view more information at the same time by reducing the display scale of the operation screen G 3 . Furthermore, because the order request is an HTTP request in which the food order information is associated with the seat ID (for example, the seat number “18”), the second server  300  of Restaurant A can recognize the food ordered by the user at the seat number “18” through the HTTP request, and display the recognized seat number “18” and the ordered food on a display inside the store. 
     With this arrangement, a restaurant employee is able to server the ordered food to the seat number “18” without making a mistake. Furthermore, because the standard menu is not a paper medium, Restaurant A can save the time and effort involved in updating or managing the standard menu in the case of adopting a standard menu on a paper medium. As a result, it is possible to attain a reduction in the human resources for taking orders, a reduction in the risk of complaints about mistakes made when receiving orders, lowered costs, and increased business efficiency. 
     Ordering from Personalized Menu 
     Next, ordering a food from a personalized menu will be described. Whereas the standard menu is a menu provided by a restaurant for general customers, the personalized menu is a menu including foods that are compatible with the classification information of the vegetarian user. The process of ordering a food from the personalized menu is illustrated by the flowchart in  FIG.  26    described later. Hereinafter, the process of ordering a food from the personalized menu will be described while referring to the flowchart in  FIG.  26    when appropriate. 
     The ordering of a food through the personalized menu is initiated when triggered by the launching of the matching app.  FIG.  12    is a diagram illustrating an example of an authentication screen G 101  displayed on the information terminal  100  immediately after the user ordering a food launches the matching app. The authentication screen G 101  is a screen for performing user authentication through fingerprint authentication. On the authentication screen G 101 , a fingerprint image  1201  illustrating a representation of a fingerprint in the center is displayed, and the message “Confirm fingerprint to continue” is displayed below the fingerprint image  1201 . With the above, the authentication screen G 101  prompts the user to perform fingerprint authentication. “Personal Matching” is displayed near the top of the authentication screen G 101 . With this arrangement, the user is made to recognize that the authentication screen G 101  is a screen of the matching app. The same applies to  FIGS.  13  to  17    described later. 
       FIG.  13    is a diagram illustrating an example of another authentication screen G 102 . The authentication screen G 102  is an example of a screen for performing user authentication through face authentication. On the authentication screen G 102 , a dashed line  1301  illustrating a representational outline of a face is displayed in the center, such that an image of the user&#39;s face from the front will be captured at a suitable size by the information terminal  100 . The user adjusts the direction and position of the information terminal  100  such that the user&#39;s own face from the front is displayed so as to be contained within the dashed line  1301 . 
     If another method of user authentication capable of sufficient authentication accuracy with a lower user burden compared to the user authentication methods described above is available, the other method may also be adopted. As the method of user authentication, two-factor authentication which is generally considered to be highly secure may be adopted, or a method of inputting a user ID and a password may also be adopted. 
       FIG.  14    is a diagram illustrating an example of a home screen G 103  displayed immediately after user authentication by the matching app ends. On the home screen G 103 , the app title “Personal Matching” is displayed in an upper row, and a plurality of tile objects  1401  are displayed in a matrix in a middle row. Each of the tile objects  1401  is associated with a linked function built into the matching app or a separate app. A separate app is an app launched from inside the matching app, for example. In this case, five tile objects  1401  labeled “a”, “b”, “c”, “d”, and “e” are displayed. The tile objects  1401  are associated with dedicated functions for matching with internal company products or internal company services (for example, an app within the matching app) linked to the matching app. With this arrangement, the user is able to use five types of linked functions indicated by “a”, “b”, “c”, “d”, and “e”. The grayed-out tile objects  1401  are empty tile objects for which a linked function has not been installed. On a lower row of the home screen, a Scan button  1402 , a Map button  1403 , an Account button  1404 , and a Home button  1405  are displayed in order from the left. The four buttons are static buttons. The Scan button  1402  is a button used in the case of reading a QR code or the like linked to a service provided by a business such as the restaurant described above. The Map button  1403  is a button for using a map screen to display stores supporting the matching app in the current vicinity of the information terminal  100 . The Account button  1404  is a button for registering and editing the account information about the user. Registering and editing account information includes actions such as setting a personal authentication and setting a linked function with the first server  200 , for example. The Home button  1405  is a button for returning the screen display to the home screen G 103  illustrated in the diagram. 
     On the home screen G 103 , the tile objects  1401  for linking to a linked function, a different app, or a service from another business are arranged together in the middle row. The display or non-display as well as the arrangement of these tile objects  1401  are settable according to user preference. Consequently, the user is able to use a single matching app to acquire products and/or services suited to the user on the basis of the personal information from among the products or services provided by a large number of businesses (such as home appliance retailers, DVD/Blu-ray (registered trademark) rental shops, bookstores, coffee shops, and taxis, for example). 
       FIG.  15    is a diagram illustrating an example of an operation screen G 104  displayed on the information terminal  100  in the case where the user, having launched the matching app, causes the information terminal  100  to read the QR code corresponding to the user&#39;s seat. The operation screen G 104  (an example of the first operation screen) is mostly similar to the operation screen G 1  in  FIG.  7   . The operation screen G 104  differs from the operation screen G 1  in that the app title display on the upper row is “Personal Matching” on the operation screen G 104 . 
     From destination information (for example, the domain name “restaurantA.com”) included in the character string (for example, a URL) read by the QR code reader, the matching app can specify that the destination is Restaurant A. Because the numeral at the end of the URL requested by the matching app is “18”, the second server  300  receiving the request can recognize that the request was transmitted from the information terminal  100  that read the QR code of the seat with the seat number “18”. The present embodiment illustrates an example where the user sitting in the seat with the seat number “18” of the store  40  of Restaurant A orders a food from the store  40 . In the request, the matching app may also specify the store  40  (Store-A) explicitly. In this case, the character string signified by the QR code is set to “http://restaurantA.com/Store-A/QRorder-18”, for example. In this way, the matching app can acquire information (for example, the restaurant ID) specifying the destination. 
     The process of launching the matching app, performing user authentication, and reading the QR code described above corresponds to step S 1  of  FIG.  28   . 
     In the case of adopting a configuration in which the restaurant ID and the seat ID are acquired by NFC instead of a QR code, the following first operation screen is used.  FIG.  16    is a diagram illustrating an example of an operation screen G 1011  displayed on the information terminal  100  in the case of acquiring a restaurant ID and a seat ID through NFC. Like the operation screen G 104 , the operation screen G 1011  is also displayed in the case where the Scan button  1402  is touched on the home screen G 103 . 
     On the operation screen G 1011 , “Personal Matching” is displayed near the top to indicate that the screen is a screen of the matching app. In the center of the screen, an NFC mark  1601  symbolically representing NFC and a message (for example, “Hold device up to NFC mark”) prompting the user to bring the information terminal  100  close to an object with the NFC mark  1601  attached are displayed. 
     In the case where the restaurant ID and the seat ID are acquired by NFC, each seat in the restaurant is provided with an IC chip including a memory that stores the restaurant ID and the seat ID and an NFC communication function. The NFC mark  1601  is displayed on the IC chip. With this arrangement, the user seeing the NFC mark  1601  on the operation screen G 1011  can easily understand that he or she bring the information terminal  100  close to the IC chip disposed on the user&#39;s seat. As described above with regard to the QR code, it is sufficient if the memory of the IC chip stores a restaurant URL from which the restaurant ID and the seat ID are specifiable. 
     Next, the process by which the matching app accesses the second server  300  of Restaurant A and acquires the menu information will be described. This process corresponds to step S 2  of  FIG.  28   . 
       FIG.  17    is a diagram illustrating an example of a display screen G 105  displayed on the information terminal  100  when the matching app is generating a personalized menu. On the display screen G 105 , a rotating circular arrow object  1501  is displayed. Additionally, “Matching with menu of Restaurant A . . . ” is displayed below the arrow object  1501 . With this arrangement, the user can recognize that the matching app is busy. 
     While the display screen G 105  is being displayed, the matching app of the information terminal  100  cooperates with the second server  300  of Restaurant A and the first server  200  to generate a personalized menu. Specifically, the matching app accesses the second server  300  of Restaurant A on the basis of the URL read through the QR code  601  or NFC, and acquires the menu information. Having acquired the menu information, the matching app detects a data attribute of the menu information. Because the menu information is food-related information, the data attribute detected at this point is a food attribute. 
     The menu information is an HTML file, for example. In the menu information, the data attribute are described as being the food attribute in a predetermined format, for example. It is sufficient for the matching app to detect that the data attribute of the menu information is the food attribute on the basis of the format. Alternatively, the matching app may also detect that the data attribute of the menu information is the food attribute from the domain name of the URL indicated by the QR code, for example. Here, because the domain name “restaurantA.com” indicates Restaurant A, the data attribute of the menu information is determined to be the food attribute. Alternatively, the matching app may analyze the acquired menu information, and in the case of obtaining an analysis result indicating food-related data, the matching app may determine that the data attribute of the menu information is the food attribute. Alternatively, the matching app may acquire supplemental information indicating the data attribute of the menu information from the second server  300 , and thereby detect that the data attribute of the menu information is the food attribute. Another method may also be adopted as the implementation for detecting the data attribute of the menu information, insofar as the method can be used to identify the data attribute. 
     Next, the process by which the matching app acquires classification information from the second server  300  will be described. This process corresponds to step S 3  of  FIG.  28   . 
     Having determined that the data attribute of the menu information is the food attribute, the matching app requests the first server  200  to acquire the most recent classification information treated as a dietary restriction of the user classified under the food attribute. The request includes the user ID. The first server  200  receives the request and extracts the most recent classification information from the distributively encrypted personal information on the basis of the user ID. The extracted classification information is transmitted from the first server  200  to the information terminal  100 . With this arrangement, the matching app acquires the classification information. Details about the classification information will be described later using  FIG.  23   . 
     Having acquired the classification information, the information terminal  100  executes a process of cross-referencing the menu information of Restaurant A with the classification information and generating a personalized menu. This process corresponds to step S 4  of  FIG.  28   . At this time, the display screen G 105  illustrated in  FIG.  17    is still being displayed on the information terminal  100 , but the matching app is executing the process of cross-referencing the menu information with the classification information and generating a personalized menu corresponding to the classification information. 
     Here, the personalized menu to be generated may have the following variations. 
     In the first variation, the arithmetic unit  104  generates, on the basis of the menu information and the classification information, a personalized menu in which foods containing an ingredient that should be avoided in correspondence with the classification information from among the foods included in the menu information are excluded or grayed out. As an example, assume that beef is an ingredient that should be avoided by the user, and beef curry is included in the menu information. In this case, the tile object  901  indicating beef curry is excluded from the personalized menu or grayed out. Graying out refers to a display method in which the tile object  901  for beef curry is displayed semi-transparently with a gray color, for example. Note that because the classification information includes information related to ingredients that should be avoided as described later using  FIG.  23   , the arithmetic unit  104  can specify which ingredients should be avoided from the classification information. 
     In the second variation, the arithmetic unit  104  generates a personalized menu including a food with an added ingredient containing a nutrient that tends to be deficient in correspondence with the type of vegetarianism. Vegetarianism may be classified into types such as vegan and ovo vegetarian as illustrated in  FIG.  22   , and the deficient nutrients for each type can be roughly estimated. Consequently, the arithmetic unit  104  may cause the memory  102  to store nutrients that tend to be deficient in correspondence with a type in advance, and include foods containing the nutrients on the personalized menu. Here, “a food” refers to a certain single food. One example of adding an ingredient containing a nutrient that tends to be deficient is adding a topping of shredded seaweed (seasoned nori) to a pasta dish for vegans, who tend to be deficient in vitamin B12. 
     In the third variation, the arithmetic unit  104  generates a personalized menu including a display indicating a combination of foods for supplementing a nutrient that tends to be deficient in correspondence with the type of vegetarianism. As illustrated in  FIG.  22   , all types of vegetarians tend to be deficient in iron. Boiled Japanese mustard spinach and natto are rich in iron. Consequently, in one example of this variation, a food set including a side dish of boiled Japanese mustard spinach or natto may be included on the personalized menu. As another example, as described later using  FIG.  38   , if the user selects a certain food from the personalized menu, a screen encouraging the user to order a food containing a deficient nutrient in addition to the certain food may be displayed on the display  105 . In this case, the arithmetic unit  104  may determine a food containing a nutrient that tends to be deficient predetermined for each food as the food to recommend to the user. 
     Another example of a combination of foods for supplementing a nutrient that tends to be deficient is a food set in which a food rich in Vitamin C, which works to increase iron absorption, is paired with a food containing iron. 
     Furthermore, the method of preparing the food may also be changed to supplement an nutrient that tends to be deficient. For example, the arithmetic unit  104  may also instruct the second server  300  of the corresponding restaurant to change the method of preparing the food to reduce the heating temperature and the heating time of the food and thereby increase the level of vitamin absorption. 
     In the fourth variation, the arithmetic unit  104  generates a personalized menu including a food with an added ingredient containing a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period. The predetermined period refers to a period going back a week or a month from the present, for example. Nutrients that tend to be deficient for vegetarians can be roughly estimated according to each type, as described above in the second variation. The estimation is also similarly applicable to estimating nutrients that tend to be deficient in the predetermined period. Consequently, the arithmetic unit  104  may cause the memory  102  to store nutrients that tend to be deficient over a predetermined period according to each type in advance, and include foods containing the nutrients on the personalized menu. 
     Alternatively, the arithmetic unit  104  may acquire food order history information for the predetermined period from the first server  200 , and specify a nutrient that the user is deficient in from the order history information. For example, the order history information includes information related to foods that the user ordered in the past. The information related to foods includes a food name in addition to the ingredients and quantities thereof used in each food, for example. If the ingredients and ingredient quantities are known, each nutrient included in the ingredients and the quantity of each nutrient can be specified. Accordingly, the arithmetic unit  104  specifies nutrients and the quantity of each nutrient consumed by the user for each food included in the order history information, and calculates the cumulative value of the quantity of each specified nutrient over the predetermined period. Next, the arithmetic unit  104  determines whether or not the cumulative value falls below a predetermined threshold for each nutrient, and specifies a nutrient with a quantity determined to fall below the threshold as a deficient nutrient. 
     In the fifth variation, the arithmetic unit  104  generates a personalized menu including a display indicating a combination of foods for supplementing a nutrient in which the user has been deficient in past meals consumed by the user over a predetermined period. In this variation, the technique described in the fourth variation is used to specify a nutrient in which the user has been deficient over a predetermined period. Additionally, the technique indicated in the third variation is used to display a combination of foods for supplementing the deficient nutrient. 
     In the sixth variation, the arithmetic unit  104  generates a personalized menu including a food in which an ingredient that should be avoided in correspondence with the vegetarian classification information has been replaced with a different ingredient. In this variation, the arithmetic unit  104  may specify an ingredient that should be avoided by the user according to the technique described in the first variation. The different ingredient may include at least one of a meat alternative using plant-based ingredients or cultured meat obtained by culturing and processing animal cells into a food product, for example. Meat alternatives are derived from plant-based ingredients, and therefore are valid ingredients regardless of the type of vegetarianism. Culture meat is a valid ingredient for users who became vegetarian out of disgust with the slaughtering of animals, for example. For example, for a food that uses a meat such as beef, pork, or chicken as an ingredient, the arithmetic unit  104  may correct the food such that the meat is replaced with a meat alternative. At this time, if the user tolerates cultured meat, the arithmetic unit  104  may correct the food such that the food containing meat is replaced with cultured meat. Information about whether or not the user tolerates cultured meat is stored in the classification information described later, for example. 
     Furthermore, a nutrient that tends to be deficient in correspondence with the vegetarian classification information may also be adopted as the different ingredient, for example. As described in the second variations, a nutrient that tends to be deficient can be roughly estimated according to the type of vegetarianism. Alternatively, the nutrient that tends to be deficient may be a nutrient that tends to be deficient over a predetermined period, as illustrated in the fourth variation. Accordingly, the arithmetic unit  104  may determine an ingredient containing a nutrient that tends to be deficient predetermined according to classification as the different ingredient. Alternatively, the arithmetic unit  104  may determine an ingredient containing a nutrient that tends to be deficient according to classification specified in a predetermined period as the different ingredient. 
     Having generating the personalized menu, the matching app uses the browser to display the personalized menu on the information terminal  100  in the same way as when ordering from the standard menu. The foods listed on the personalized menu all account for the most recent classification information. Consequently, the user is able to order a food smoothly. 
     These six variations may also be combined appropriately. 
       FIG.  18    is a diagram illustrating an example of an operation screen including a personalized menu. On an operation screen G 106  (an example of a second operation screen), a plurality of tile objects  901  are arranged in a matrix, similarly to the operation screen G 3 . On the operation screen G 106 , the personalized menu is configured to scroll in response to a scrolling operation performed by the user. The personalized menu is formed by the plurality of tile objects  901 . In the personalized menu on the operation screen G 106 , the tile objects  901  indicating meat-containing foods such as “Steak Set”, “Ramen A Set”, “Ramen B Set”, and “Hamburger” that were included on the standard menu in  FIG.  8    have been changed to tile objects  901  indicating foods that a vegetarian is able to eat, such as “Ramen and Vegetable Gyoza”, “Vegetable Curry and Oolong Tea”, “Pasta in Tomato Sauce”, and “Meat-alternative Hamburger”. Note that the example in  FIG.  18    corresponds to a configuration of adopting an ingredient containing a nutrient that tends to be deficient when replacing an ingredient that should be avoided by the user with a different ingredient in the sixth variation described above. Alternatively, the example in  FIG.  18    corresponds to a configuration combining the first variation with the second variation. 
     “Restaurant A Custom Menu” is displayed near the top of the operation screen G 106 , thereby clearly indicating that the personalized menu presented on the operation screen G 106  is a menu customized to the user. This arrangement appeals to the user by indicating that the personalized menu included on the operation screen G 106  is a menu of foods that user can eat with assurance. 
     On the operation screen G 106 , an Order button  1801  and a Standard Menu button  1802  are displayed above the tile objects  901 . The Order button  1801  switches the screen display to the operation screen G 107  illustrated in  FIG.  20    after a tile object  901  is selected. The Standard Menu button  1802  switches the screen display to the standard menu (one example of a regular menu) rather than the personalized menu. For example, some vegetarians may switch between following and not following vegetarianism depending on the situation when eating a food, such as not being vegetarian when dining with friends. Such vegetarians are referred to as flexitarians. The Standard Menu button  1802  is provided to meet the demands of such flexitarians. When the Standard Menu button  1802  is touched, the operation screen G 106  including the standard menu like the one illustrated in  FIG.  9    is displayed on the display  105 . The Standard Menu button  1802  may also be displayed only for users classified as flexitarian. 
     The matching app displaying the personalized menu executes a process of receiving the selection of a food to be ordered from the user. This process corresponds to step S 5  of  FIG.  28   .  FIG.  19    is a diagram illustrating an example of a scenario in which the user operates the operation screen G 106  to order a food from the personalized menu. 
     In the example of the operation screen G 106 , a tile object  901 B of the food “Ramen and Vegetable Gyoza” has been touched once from the personalized menu. Consequently, the color of the tile object  901 B is changed from a first color to a second color, and the order quantity “1” is also displayed in the upper-right corner. In this way, the user can order a food easily and intuitively with a touch operation using a pointing object  1001  such as a finger. 
     Note that although the color of the tile object  901  is changed when the user selects a food to be ordered, the configuration is not limited thereto. For example, a pattern of the tile object  901  may be changed from a first pattern to a second pattern when the tile object  901  is selected by the user. Alternatively, the color and the pattern of the tile object  901  may be changed from a first color and pattern to a second color and pattern when the tile object  901  is selected by the user. 
     Having receiving an order of a food through the operation screen G 106 , the matching app transmits an order request in which the food order information and the seat ID are associated to the second server  300 .  FIG.  20    is a diagram illustrating an example of an operation screen G 107  displayed when making a final confirmation of the food to order from the personalized menu. The operation screen G 107  is displayed in the case where the Order button  1801  is touched on the operation screen G 106 . 
     On the operation screen G 107 , the tile object  901 B corresponding to the food selected on the operation screen G 106  and a total amount  2001  indicating the total (¥1,000) of the ordered food (ramen and vegetable gyoza) are displayed. In addition, an Order button  2000  is included on the operation screen G 107 . The content of the operation screen G 107  is the same as the operation screen G 4  for the standard menu. When the Order button  2000  is touched, an order request in which the food order information and the seat ID are associated is transmitted to the second server  300  of Restaurant A. The order request is displayed on a display installed in the store of Restaurant A. With this arrangement, a restaurant staff member can grasp the order content from the displayed seat number “18” and the food order information, start cooking, and serve the ordered food to the seat number “18”. 
       FIG.  21    is a diagram illustrating an example of an order history screen displayed when the user checks the order history so far. The order history screen G 108  includes a Being Prepared frame  2101  provided on the left side of the screen and an Already Served frame  2102  provided on the right side of the screen. The tile object  901 B is disposed inside the Being Prepared frame  2101  to indicate that the order has been received and the food is currently being prepared. A tile object  901  is disposed inside the Already Served frame  2102  to indicate that the food has been served. In the example of  FIG.  20   , no foods have been served yet, and therefore no tile object  901  is disposed inside the Already Served frame  2102 . Currently, the “Ramen and Vegetable Gyoza” tile object  901 B is disposed in the Being Prepared frame  2101 . Near the bottom of the order history screen G 108 , the total (¥1,000) of the food ordered so far through the matching app is displayed in an easily understandable way. By checking the order history screen G 108 , the user is able to see at a glance the quantity and price of the food ordered so far. Note that an “Order History” button (not illustrated) may also be provided on the operation screen G 106 , and the order history screen G 108  may be displayed when the “Order History” button is touched. 
     The process of ordering a food from the personalized menu for Restaurant A is performed as above. The user who orders food uses the matching app distributed by the first server  200 , and by simply causing the information terminal  100  to read the QR code of the user&#39;s seat at the restaurant, the user is able to acquire a personalized menu that accounts for the user&#39;s own classification information, and order a food from the personalized menu. This is an unprecedented method of ordering personalized foods conveniently and mistake-free. To execute the method, the user simply installs the matching app in the information terminal  100  in advance. 
     Vegetarianism 
     Next, vegetarianism will be described.  FIG.  22    is a table summarizing types of vegetarianism and ingredients that users should avoid according to each type. As illustrated in the table, vegetarians are roughly classified into “vegan”, “lacto vegetarian”, “lacto-ovo vegetarian”, and “ovo vegetarian”. In the table, “X” indicates an ingredient that should be avoided by the corresponding type of vegetarian. 
     Vegans are vegetarians who abstain from all animal-based ingredients, as indicated by beef, pork, chicken, fish, eggs, dairy, and honey given as examples of ingredients that should be avoided. 
     Lacto vegetarians are vegetarians who abstain from animal-based ingredients except for dairy and honey, as indicated by beef, pork, chicken, fish, and eggs given as examples of ingredients that should be avoided. 
     Lacto-ovo vegetarians are vegetarians who abstain from animal-based ingredients except for eggs, dairy and honey, as indicated by beef, pork, chicken, and fish given as examples of ingredients that should be avoided. 
     Ovo vegetarians are vegetarians who abstain from animal-based ingredients except for eggs and honey, as indicated by beef, pork, chicken, fish, and dairy given as examples of ingredients that should be avoided. 
     Also, vegetarians referred to as flexitarians and reducetarians who do not fit into the above types are also increasing recently. Flexitarians, also referred to as semi-vegetarians, are vegetarians who abstain from animal-based ingredients according to certain eating conditions depending on the eating time period, day of the week, or whether the user is dining with someone else. For example, a flexitarian may be lacto-ovo vegetarian only at breakfast time, vegan just once a week, and stop being vegetarian when dining with friends. 
     Reducetarianism is a dietary lifestyle that reduces animal-based food products. For example, a reducetarian may eat small amounts of meat contained in fried rice, but choose not to eat a steak. 
     Furthermore, the table summarizes nutrients that tend to be deficient according to each type. If a person continues to follow a vegan diet, he or she will tend to be deficient in nutrients such as vitamin B12, vitamin D, zinc, calcium, essential fatty acids, protein, and iron. 
     Lacto vegetarians tend to be deficient in nutrients such as iron and n-3 fatty acids. Lacto-ovo vegetarians and ovo vegetarians tend to be deficient in nutrients such as iron. 
     Vegetarians refrain from consuming specific food products over a long period of time, and therefore easily develop chronic deficiencies in specific nutrients and minerals necessary for maintaining health. 
     Consequently, it is desirable for vegetarians to absorb a good balance of nutrients that tend to be deficient by consuming foods prepared using plant-based ingredients rich in the nutrients that tend to be deficient according to the user&#39;s own type of vegetarianism. 
     For example, plant-based ingredients rich in vitamin B12 include seaweeds (dried nori, seasoned nori, and toasted nori). Plant-based ingredients rich in vitamin D include mushrooms such as dried shiitake and wood ear. Plant-based ingredients rich in zinc include seaweeds (toasted nori, wakame), vegetables (dried strips of daikon radish, edamame), beans (soybean flour, natto), and the like. Plant-based ingredients rich in calcium include vegetables (Japanese mustard spinach, dried hijiki, bok choy), beans (tofu, natto), and the like. Plant-based ingredients rich in iron include vegetables (Japanese mustard spinach, spinach), beans (natto, deep-fried tofu), and the like. 
     Depending on the type of vegetarianism, the user needs knowledge like the above to choose foods with sufficient consideration for the nutrients that tend to be deficient, and because the practice is burdensome, long-term compliance is thought to be difficult. 
     Accordingly, in the present embodiment, as described in the second to sixth variations above, the information terminal  100  automatically suggests foods with an added ingredient containing a nutrient that tends to be deficient, foods in which the preparation method has been modified such that a nutrient that tends to be deficient is not destroyed, and combinations of foods capable of supplying a nutrient that tends to be deficient to the user through the personalized menu. 
     Data Structure 
     Next, the data structure of the classification information and the ingredient information  2400  will be described.  FIG.  23    is a diagram illustrating an example of a data structure of information  2300  including user classification information returned from the first server  200  to the matching app. The information  2300  is written as fields and values associated with each other to enable easy processing by an arithmetic device. For example, the information  2300  is contained in a single file in the JavaScript(R) Object Notation (JSON) format. 
     An “information category” field indicates what type of personal information is included in the information  2300 . The information  2300  includes data related to food, and therefore “food” is written as the value paired with the “information category” field. The “information category” field is written at the beginning of the information  2300 . 
     A “publisher” field is for identifying the corporation that acquired the information  2300  by asking the user through the matching app. Here, questions are asked by ABC Matching Co., Ltd. to acquire the information  2300 , and therefore ABC Matching is written as the value corresponding to the “publisher” field. 
     A “publication date” field indicates the publication date of the information  2300  by the publisher. Here, 2/7/2020 is written as the value corresponding to the “publication date” field. The value may also include a time in addition to the publication date. Also, time zone information may be included in the value. 
     A “data class” field specifically designates the content of the information  2300 . Here, “vegetarian attribute” for example is written as the value corresponding to the “data class” field. This arrangement indicates that the data written in the subsequent fields is classification information about the user who is a vegetarian. 
     Note that it is sufficient for the information terminal  100  to interpret that classification information is included in the information  2300  on the basis of the written content of the values respectively corresponding to the “information category” field and the “data class” field. Alternatively, the information terminal  100  may interpret that classification information is included in the information  2300  on the basis of information related to the information  2300  (for example, the file name of the information  2300 ). 
     A “data measurement date” field indicates date information about when the classification information indicated by the value “vegetarian attribute” corresponding to the preceding “data class” field was measured. Here, 2/7/2020 is written as the value corresponding to the “data measurement date” field. The value may also include a time in addition to the measurement date. Also, time zone information may be included in the value. Note that in the case where a plurality of vegetarian information is stored for the relevant user in the first server  200 , the information  2300  with the most recent date written in the “data measurement date” field is used. 
     “Vegetarian type” indicates the type of vegetarianism to which the user belongs. The “vegetarian type” may be any of vegan, lacto vegetarian, lacto-ovo vegetarian, or ovo vegetarian illustrated in  FIG.  22   , as well as flexitarian or reducetarian. A type selected by the user in response to the questions described above is adopted as the “vegetarian type”, for example. Here, the relevant user is a lacto-ovo vegetarian, and therefore “lacto-ovo vegetarian” is written as the value corresponding to “vegetarian type”. 
     After the “vegetarian type” field, resistance values indicating the degree of resistance the user feels against eating each of the ingredients of beef, pork, chicken, fish, eggs, dairy, and honey are written. The resistance value is expressed in six levels from 0 to 5, for example, with a larger numerical value indicating a lower level of resistance. For example, an ingredient with a resistance value of “0” is an ingredient that should be avoided absolutely, whereas an ingredient with a resistance value of “5” is an ingredient for which the user feels no resistance against eating. The resistance values are mainly used to select foods for reducetarians. 
     Because the “vegetarian type” of the user is lacto-ovo vegetarian, beef, pork, chicken, and fish are ingredients that should be avoided, and consequently the resistance values of these ingredients are set to “0”. On the other hand, eggs, diary, and honey are ingredients that the user is allowed to eat, and consequently the resistance values of these ingredients are set to “3”, “5”, and “5”. The reason why the resistance value of eggs is “3” is that the user feels some resistance against eating eggs. As illustrated by the table in  FIG.  22   , the ingredients that should be avoided are predetermined according to the type of vegetarianism. For this reason, the resistance value of each ingredient is set by default to “0” for ingredients that should be avoided which are predetermined according to type, and “5” for ingredients allowed to be eaten that are allowed to be eaten which are predetermined according to type. However, the user is able to input a resistance value less than “5” through the matching app with respect to ingredients that the user is allowed to eat, but for which the user feels resistance against eating. 
     Note that a reducetarian user is requested to input resistance values with respect to each ingredient through the matching app. For a flexitarian user, the information  2300  may include information indicating whether the user is a vegan, lacto vegetarian, lacto-ovo vegetarian, or ovo vegetarian when eating vegetarian. Furthermore, the information  2300  may also include schedule information related to which meals in which time periods a flexitarian user eats vegetarian. 
     The resistance values are an example of level information indicating the type of vegetarianism to which the user belongs and the degree to which to avoid an ingredient that should be avoided in correspondence with the type of vegetarianism. 
     On the other hand, unless ingredient information for each food is described in the menu information acquired from the second server  300  of Restaurant A, the information terminal  100  is unable to specify which foods contain ingredients that should be avoided by vegetarians.  FIG.  24    is a diagram illustrating an example of a data structure of the ingredient information  2400  forming the menu information returned from the second server  300 . In  FIG.  24   , ingredient information  2401  for the Ramen B Set is illustrated. The Ramen B Set includes shoyu ramen and soup dumplings. Consequently, when determining whether or not the Ramen B Set contains ingredients that should be avoided by the user, the information terminal  100  references ingredient information  2402  for shoyu ramen and ingredient information  2403  for soup dumplings. 
     The ingredient information  2400  is written as fields and values associated with each other to enable easy processing by an arithmetic device. The ingredient information  2400  is embedded together with tags indicating the ingredient information in menu information in HTML file format for example that is acquired from the second server  300  of each restaurant. However, this is merely an example, and the ingredient information  2400  may also be structured in JSON format and contained in a separate file prepared for each food. 
     The “food name” field indicates the food to which the ingredient information relates. The Ramen B Set is written as the value corresponding to the “food name” field in the example of the ingredient information  2401 , shoyu ramen is written as the value corresponding to the “food name” field in the example of the ingredient information  2402 , and soup dumplings is written as the value corresponding to the “food name” field in the example of the ingredient information  2403 . 
     A list of the ingredients used is written in the fields and values following the “food name” field. For example, because the Ramen B Set includes a bowl of shoyu ramen and three soup dumplings, the ingredient information  2401  includes a “shoyu ramen” field and a “soup dumpling” field, in which “1” is written as the value corresponding to shoyu ramen and “3” is written as the value corresponding to soup dumpling. Because the ingredient information  2401  is ingredient information  2400  for a food set, field and values related to the ingredients contained in the foods are not provided. 
     The ingredient information  2402  is ingredient information  2400  for shoyu ramen as a single dish, and therefore each ingredient and the quantity of each ingredient contained in shoyu ramen, such as “50 g” of “flour” and “5 g” of “salt”, are written in association with each other. Like the ingredient information  2402 , the ingredient information  2403  is also ingredient information  2400  for soup dumplings as a single dish, and therefore each ingredient and the quantity of each ingredient contained in a soup dumpling are written in association with each other. 
     As indicated by the ingredient information  2402  and the ingredient information  2403 , the Ramen B Set contains “pork char siu”, “ground pork”, “honey”, and “chicken stock” as ingredients. However, in the information  2300  about a vegan user, the resistance value is set to “0” for each of pork, honey, and chicken, indicating that “pork char siu”, “ground pork”, “honey”, and “chicken stock” are ingredients that should be avoided for the vegan user. Consequently, the vegan user would not want to eat the Ramen B Set as-is. Accordingly, the arithmetic unit  104  of the information terminal  100  suggests the food set of ramen and vegetable gyoza illustrated in  FIG.  25    instead of the Ramen B Set for example to the user through the personalized menu. 
       FIG.  25    is a diagram illustrating an example of ingredient information  2404  for ramen and vegetable gyoza. As indicated by the ingredient information  2405  and the ingredient information  2406 , in the ramen and vegetable gyoza, bok choy is used instead of pork char siu, Chinese leek is used instead of ground pork, and cabbage and sugar are used instead of honey and chicken stock. With this arrangement, “ramen and vegetable gyoza” that the vegan user is able to eat is displayed on the personalized menu, and the user is able to order a food that he or she is able to eat smoothly from the personalized menu. 
     When substituting foods, the information terminal  100  cross-references the ingredient information  2402  and the ingredient information  2403  illustrated in  FIG.  24    with the classification information included in the information  2300  about the user, and extracts ingredients to be replaced from among the ingredient information  2402  and the ingredient information  2403 . For example, ingredients with a resistance value of “0” or “1” in the information  2300  are extracted as ingredients to be replaced in the ingredient information  2402  and the ingredient information  2403 . The ingredients extracted as the ingredients to be replaced are labeled “Bad” in the ingredient information  2402  and the ingredient information  2403 . Additionally, the information terminal  100  substitutes the ingredient information  2402  and the ingredient information  2403  by replacing the ingredients to be replaced and their quantities with alternative ingredients and alternative quantities predetermined for each food with respect to the extracted ingredients to be replaced. Furthermore, the information terminal  100  substitutes the food name in the ingredient information with a predetermined food name according to the replaced ingredients. With this arrangement, the ingredient information  2400  illustrated in  FIG.  25    is obtained. It is sufficient for the information terminal  100  to substitute foods by applying the above process to each food included in the acquired menu information. 
     Alternatively, if an alternative food is predetermined according to the type of vegetarianism for a food containing an ingredient to be replaced, the information terminal  100  may substitute the food with an alternative food. 
     Overall Picture of Process 
     Next, an overall picture of a process by the information processing system according to the present embodiment will be described.  FIG.  26    is a sequence diagram illustrating an example of an overall picture of a process by the information processing system according to the present embodiment. 
     The matching app, launched by the information terminal  100  in accordance with an operation performed by the user who enters and takes a seat in Restaurant A, executes user authentication (step S 501 ). If user authentication is successful, the matching app displays the home screen G 103  (see  FIG.  14   ). 
     If the Scan button  1402  is touched by the user on the home screen G 103 , the matching app launches a scan function and acquires the QR code corresponding to the user&#39;s seat (step S 502 ). With this arrangement, the matching app acquires the URL of the second server  300  (HTTP server) of Restaurant A treated as the destination. 
     Having acquired the URL, the matching app transmits a request (for example, an HTTP request) for acquiring menu information to the second server  300  of the Restaurant A on the basis of the URL (step S 503 ). At this point, the matching app may also transmit the seat ID included in the QR code as described above to the second server  300 . 
     The second server  300  receiving the request uses an HTTP server function to transmit an HTTP response containing the menu information. With this arrangement, the matching app receives the menu information of Restaurant A (step S 504 ). 
     The matching app receiving the menu information analyzes the received menu information and detects that the data attribute of the received menu information is the food attribute. In this case, it is sufficient if the matching app detects the food attribute through internal analysis of the menu information. Alternatively, the matching app may detect the food attribute from supplemental information transmitted separately from the menu information. Thereafter, because the data attribute of the received menu information is the food attribute, the matching app determines classification information as the data for performing matching (step S 505 ). 
     Next, the matching app transmits an HTTP request for acquiring the classification information of the user to the first server  200  on the basis of the user ID of the authenticated user (step S 506 ). The first server  200  receives the HTTP request using an HTTP server function, extracts the classification information of the user from the memory  203  on the basis of the user ID, and transmits an HTTP response containing the extracted classification information to the matching app. With this arrangement, the matching app receives the classification information of the user (step S 507 ). 
     The matching app receiving the classification information uses one of the methods indicated by the six variations described above to generate a personalized menu corresponding to the classification information of the user from the received menu information and the received classification information (step S 508 ). 
     The matching app generates the style (user interface (UI) design) of the various screens displayed in the process from step S 501  to step S 508  according to the style of the matching app, but generates the style (for example, UI design) of the various screens from the personalized menu to order completion according to a style provided by Restaurant A. In other words, each business (for example, each restaurant) that acts as a service provider is able to communicate with users (for example, customers) in a style (for example, UI design) preferred by each business while also remaining within the matching app developed by another company (for example, the information bank or an information intermediary). This means that each of the standard menu and the personalized menu described above can be expressed in a style (for example, UI design) designated by Restaurant A, and furthermore, the menus can be given a uniform appearance. 
     Having generated the personalized menu, the matching app displays the operation screen G 106  including the generated personalized menu in a style designated by Restaurant A, and accepts an instruction selecting a food to be ordered by the user from the personalized menu (step S 509 ). 
     Having accepting the selection instruction, the matching app transmits an order request in which the user&#39;s seat ID and food order information indicating the food to be ordered are associated to the second server  300  of Restaurant A (step S 510 ). The second server  300  receiving the order request replies to the matching app with an acknowledgment (ACK) indicating that the order has been received, and with the current order status (for example, information related to the order history screen G 108 ) as necessary. With this arrangement, the matching app receives the current order status (step S 511 ). 
     The matching app also sends the food order information with respect to the second server  300  of Restaurant A to the first server  200  in association with the user ID (step S 512 ), and requests an addition or update to the user&#39;s meal history information. The first server  200  receiving the food order information updates the user&#39;s meal history information according to the received food order information (step S 513 ). In this case, a time stamp indicating the order time of the food indicated by the food order information is also added to the meal history information. 
     The second server  300  of Restaurant A receiving the order request displays the order request on a display inside the store (step S 514 ). With this arrangement, an employee in the store is able to serve the ordered food to the seat of the ordering user without making a mistake. 
     In this way, detailed and accurate meal history information is accumulated chronologically in the first server  200  as a portion of the personal information about the user. With this arrangement, such big data is utilized the next time the user places an order, and food choices that are highly compatible with the user are presented to the user more precisely. 
     According to the control method illustrated in  FIG.  26   , it is possible to lower the risk of a user who has ordered a food being mistakenly served a food which is different from the order and which contains an ingredient that should be avoided by vegetarians. Furthermore, according to the control method illustrated in  FIG.  26   , even if a user has strict requirements regarding ingredients that should be avoided, the preparation method, and the like, the user is able to order a food without having to confirm such requirements with the restaurant, and furthermore, the restaurant is also able to accommodate an orders of a food from such a user easily. Also, according to the control method illustrated in  FIG.  26   , user unease about communicating personal information concerning the user&#39;s privacy such as classification information to the restaurant staff and user unease about personal information concerning the user&#39;s privacy being accumulated in a store terminal are reduced. 
     Furthermore, according to the control method illustrated in  FIG.  26   , accurate and chronologically continuous personal information including classification information, meal history information (for example, order history information), activity level, vital sign information, and the like can be managed efficiently and securely. Moreover, according to the control method illustrated in  FIG.  26   , personal information is prevented from being leaked to an entity other than a business that has obtained the user&#39;s consent. 
     Flowchart of Process of Ordering 
     Next, a process by the information terminal  100  according to the present embodiment will be described.  FIG.  27    is a flowchart illustrating an example of a process by the information terminal  100  in a case where a food is ordered from the standard menu. The flowchart is initiated when triggered by the launching of the QR code reader by the user on the information terminal  100 . 
     In step S 11 , the QR code reader reads a QR code and passes the read character string (for example, an URL) to the browser. In this process, the QR code is read using the operation screen G 1  illustrated in  FIG.  7   , and the result of reading the QR code is displayed on the operation screen G 2  illustrated in  FIG.  8   . 
     In step S 12 , the browser accesses the second server  300  of Restaurant A according to the URL, acquires menu information, and displays the standard menu on the display  105  of the information terminal  100 . In this process, the operation screen G 3  including the standard menu illustrated in  FIG.  9    is displayed. 
     In step S 13 , the browser accepts, from the user, an instruction of selecting a food to be ordered from the standard menu. In this process, the standard menu included on the operation screen G 3  illustrated in  FIG.  10    is operated by the user to select the food to be ordered. 
     In step S 14 , the browser transmits an order request in which the user&#39;s seat ID and food order information indicating the food ordered by the user are associated to the second server  300  of Restaurant A. With the above, the process of ordering from the standard menu is completed. 
     In this way, a user who wants to order from an appropriate menu with consideration for the user&#39;s own classification information at a restaurant uses the matching app to display a personalized menu from which to order a food. On the other hand, a user who wants to select a food from the standard menu of the restaurant without consideration for the user&#39;s own classification information uses a general-purpose QR code reader to display the standard menu from which to order a food. 
     In either case, because the seat ID read from the QR code corresponding to the seat where the user is sitting is transmitted in association with the food order information to the second server  300 , the ordered food is served mistake-free. 
       FIG.  28    is a flowchart illustrating an example of a process by the information terminal  100  in a case where a food is ordered from the personalized menu. The flowchart is initiated when triggered by the launching of the matching app by the user who enters a restaurant to order a food. 
     In step S 1 , the matching app executes a process of acquiring the QR code corresponding to the user&#39;s seat. Details of this process will be described later using  FIG.  29   . In this process, the QR code is read through the operation screen G 104  illustrated in  FIG.  15   , and the seat ID and the restaurant ID are acquired. This process corresponds to steps S 501  and S 502  of  FIG.  26   . 
     In step S 2 , the matching app executes a process of using a browser function to access the URL indicated by the acquired QR code and acquiring the menu information of Restaurant A from the second server  300  of Restaurant A. Details of this process will be described later using  FIG.  30   . In this process, the data attribute of the menu information is also detected to be the food attribute. In this process, the display screen G 105  illustrated in  FIG.  17    is displayed on the information terminal  100 . This process corresponds to steps S 503  and S 504  of  FIG.  26   . 
     In step S 3 , the matching app executes a process of acquiring personal information related to the food attribute, namely classification information, from among the personal information of the user from the first server  200 . Details of this process will be described later using  FIG.  31   . According to this process, the classification information of the user sitting in the seat indicated by the seat ID acquired in step S 1  is acquired. This process corresponds to steps S 505 , S 506 , and S 507  of  FIG.  26   . 
     In step S 4 , the matching app executes a process of cross-referencing the menu information of Restaurant A with the classification information of the user and generating a personalized menu including foods compatible with the classification. Through this process, the operation screen G 106  including the personalized menu is displayed. This process corresponds to step S 508  of  FIG.  26   . 
     In step S 5 , the matching app accepts an instruction of selecting a food to be ordered by the user viewing the personalized menu. In this case, the food is selected as illustrated by the operation screen G 106  in  FIG.  19   . This process corresponds to step S 509  of  FIG.  26   . 
     In step S 6 , the matching app transmits an order request in which food order information indicating the food selected in step S 5  is associated with the seat ID acquired in step S 1  to the second server  300  of Restaurant A. This process corresponds to step S 510  of  FIG.  26   . 
     Hereinafter, details of the case where a food is ordered from the personalized menu will be described.  FIG.  29    is a flowchart illustrating details of the process in step S 1  of  FIG.  28   . In step S 101 , the matching app launched by the user requests the user to perform user authentication. In this case, user authentication using the authentication screen G 101  illustrated in  FIG.  12    or the authentication screen G 102  illustrated in  FIG.  13    is performed. 
     In step S 102 , the matching app determines whether or not the user authentication is successful. At this point, if user authentication is unsuccessful (step S 102 , NO), the process returns to step S 101 . If user authentication is successful (step S 102 , YES), the process proceeds to step S 103 . In step S 103 , the matching app displays the home screen G 103  of the matching app illustrated in  FIG.  14   . 
     In step S 104 , the matching app accepts a user operation of touching the Scan button  1402  on the home screen G 103 , and launches a QR code reading function. With this arrangement, the operation screen G 104  illustrated in  FIG.  15    is displayed. Note that in the case of adopting a configuration that reads the restaurant ID and the seat ID through NFC, the operation screen G 1011  illustrated in  FIG.  16    is displayed. 
     In step S 105 , the direction and position of the information terminal  100  are adjusted by the user, and the matching app reads the QR code corresponding to the seat where the user is sitting. 
       FIG.  30    is a flowchart illustrating details of the process in step S 2  of  FIG.  28   . In step S 201 , the matching app accesses the second server  300  of Restaurant A on the basis of the character string (for example, a URL) expressed by the QR code. This access is performed through an HTTP request, for example. 
     In step S 202 , the second server  300  of Restaurant A uses an HTTP server function to reply to the matching app with the most recent menu information. The reply is performed through an HTTP response, for example. 
     In step S 203 , the matching app acquires the most recent menu information of Restaurant A. 
     In step S 204 , the matching app detects from the acquired menu information that the data attribute of the menu information is the food attribute. This detection is performed on the basis of a data attribute written in an HTML file containing the menu information, for example. 
       FIG.  31    is a flowchart illustrating details of the process in step S 3  of  FIG.  28   . In step S 301 , because the data attribute of the acquired menu information is the food attribute, the matching app determines the classification information of the user as the data for performing matching. 
     In step S 302 , the matching app requests the first server  200  for the acquisition of the most recent classification information of the user treated as the target of matching. In this case, the matching app specifies the user ID and requests a reply containing the classification information in a predetermined encrypted state. 
     In step S 303 , the first server  200  extracts the most recent classification information on the basis of the user ID from among an enormous amount of personal information being distributively encrypted and managed, and after converting the classification information to a predetermined format, applies a predetermined encryption and replies to the matching app. 
     In step S 304 , the matching app decrypts the acquired most recent classification information. With this arrangement, the most recent classification information of the user is acquired. 
       FIG.  32    is a flowchart illustrating details of the process in step S 4  of  FIG.  28   . In step S 401 , the matching app cross-references the menu information of Restaurant A with the most recent classification information of the user, and generates a personalized menu including only foods compatible with the classification of the user. As described later, the menu information includes one or more ingredients included in each food, and the quantity of each ingredient. The menu information may also include preparation method information indicating the preparation method of each food. At this point, the personalized menu is generated using one of the methods indicated by the six variations described above. 
     In step S 402 , the matching app uses the browser function to generate and display the operation screen G 106  including the generated personalized menu on the display  105  of the information terminal  100 . In this case, the personalized menu is displayed with style information included in the menu information of Restaurant A applied thereto, for example. 
     Example Implementation of Information Processing when Ordering from Personalized Menu 
     Next, an example implementation of the information processing in the case of ordering from the personalized menu will be described. In the case where the interface for information communication and data structure to be handled are unique to the restaurant location (that is, store), situations may occur in which the various data handled by the information processing system is usable at the store  40  of Restaurant A but unusable by Restaurant B, or unusable by both a different store of Restaurant A and Restaurant B. To avoid such situations, a general-purpose solution enabling many users to order foods using personalized menus from many restaurants is described hereinafter. 
       FIG.  33    is a diagram illustrating an example of a specific implementation of the information processing system according to the present embodiment. The memory  102  of the information terminal  100  contains a “matching_app” directory, which is a storage location for files necessary to execute the matching app. Under the “matching_app” directory, there are an “account” directory, a “main” directory, and a “matching_temp” directory. In the “account” directory, a user account and/or information necessary for user authentication are stored. In the “main” directory, information necessary for the matching app to achieve basic functions such as drawing the home screen and scanning a QR code is stored. In the “matching_temp” directory, information necessary for matching is stored temporarily. 
     In the “account” directory, a “user_account.xml” file describing an account and/or information necessary for user authentication is stored. In the “user_account.xml” file, a unique account name (for example, a user ID specified by the user) and corresponding authentication information (for example, a password, fingerprint features, and/or face features) are recorded in an encrypted form as information for specifying the user, for example. 
     The account name is not limited to a user ID specified by the user, and any information that can be used to individually identify a user who uses the matching app may be adopted. For example, a unique serial code assigned to each instance of the matching app, embedded into the program of the matching app, and distributed together with the matching app may also be adopted. The unique serial code assigned to each instance refers to a serial code uniquely assigned for each information terminal  100  in which the matching app is installed. Alternatively, a unique account name generated by the matching app on the basis of a random number when the matching app is launched for the first time or when registration is performed for the first time may also be adopted as the account name. In this case, it is sufficient for the matching app to generate the account name automatically by checking with the first server  200  to confirm that the account name does not overlap with an existing account name already registered, for example. 
     Setting character string information that is unintelligible to humans as the account name in this way makes it possible to communicate personal information with increased anonymity. The classification information included in the personal information illustrated in  FIG.  33    is managed by being fragmented into a plurality of files as described later. The account name described above may also be adopted for the userID portion of the file name in each fragmented file. Alternatively, different information paired 1:1 with the account name described above may be adopted for a portion of the file name (for example, the userID portion) of each fragmented file. 
     In the “main” directory, a “main.html” file describing content information necessary for achieving the basic functions of the matching app and a “main.css” file describing the style (for example, UI design) of the screen display are stored. 
     In the second server  300  of Restaurant A, a group of files to reply with when the URL (for example, http://restaurantA.com/QRorder-18) expressed by a character string obtained as a result of reading a QR code is stored in advance. The group of files includes a “ResA.html” file describing the content information included in the reply and a “ResA.css” file describing the style (for example, UI design) of the screen display of the content information. For example, the ingredient information  2400  illustrated in  FIGS.  24  and  25    may be included in “ResA.html”, or stored in an external file referenced in the “ResA.html” file. 
     In the first server  200 , a huge variety of personal information about the user is accumulated in a distributively encrypted form. For example, the classification information of the user used in the present disclosure is archived in physically different storage devices in the first server  200  as N files in JSON format named “userID_healthcare_classification_1.json”, “userID_healthcare_classification_2.json”, “userID_healthcare_classification_N.json”. In the N files, the “userID” at the beginning of the file name is identification information for specifying the target user, the following “healthcare” is identification information for specifying the information category (for example, food) described using  FIG.  23   , the following “classification” is identification information for specifying the data class (for example, the vegetarian attribute) described using  FIG.  23   , and the final numeral is an identification number of the divided file. 
     If a request for the classification information of the user is received together with appropriate permissions (for example, access right information), the first server  200  correctly decrypts data from the N files and converts the data into a predetermined description format (.json) to acquire a “classification.json” file, and replies to the matching app with a “classification.json.enc” file obtained by encrypting the “classification.json” file. 
     Hereinafter, the handling of files in the case where the matching app performs screen control using HTML will be described according to the flowchart in  FIG.  34   .  FIG.  34    is a flowchart illustrating an example of a process by the matching app with respect to files from the launching of the matching app until the personalized menu is displayed. 
     In step S 601 , the matching app launches and draws the home screen. The matching app draws the home screen using the “main.html” file and the “main.css” file in the “main” directory immediately after launching. With this arrangement, the home screen G 103  illustrated in  FIG.  14    is drawn. 
     In step S 602 , the matching app receives menu information from the second server  300  of Restaurant A. The received menu information is recorded as the “ResA.html” file and the “ResA.css” file in the “matching_temp” directory. 
     In step S 603 , the matching app receives the encrypted classification information (classification.json.enc) of the user from the first server  200 . The received classification information is decrypted by the matching app and recorded as the “classification.json” file in the “matching_temp” directory. 
     In step S 604 , the matching app generates a personalized menu compatible with the classification information of the user by editing the ResA.html file. The generated personalized menu is recorded as a new “Custom_ResA.html” file in the “matching_temp” directory. Through the above, as illustrated in  FIG.  33   , the “classification.json” file, the “ResA.html” file, the “Custom_ResA.html” file, and the “ResA.css” file are recorded in the “matching_temp” directory. 
     In step S 605 , the matching app uses the “Custom_ResA.html” file and the “ResA.css” file to draw the generated personalized menu in the style designated by Restaurant A. 
     In this way, various screens are drawn using HTML/CSS files. For this reason, in the case of presenting a product or service compatible with enormous and diverse personal information about users from among products or services provided by an unspecified large number of businesses from a single matching app, the businesses are able to display expected information in an expected style (for example, UI design). 
     When the display screen is returned to the home screen of the matching app by the user who has finished ordering a food from the personalized menu, or when a predetermined time has elapsed since the user finished ordering a food from the personalized menu, all of the files temporarily stored in the “matching_temp” directory may be deleted for security. 
     Variations of Personalized Menu 
     The following variations may be adopted instead of the personalized menu illustrated in  FIG.  18   .  FIG.  35    is a diagram illustrating an example of the operation screen G 106  including a first variation of the personalized menu. On the personalized menu, for the tile objects  901  indicating each of the foods, the display order, the size, the frame thickness, the frame decoration, the size of an image illustrating the food, a mark  3501  deforming the food around the image illustrating the food, the size of the character string of the food name, a deformation applied to the character string of the food name, and a heart mark  3502  indicating a favorite are set. 
     The settings for the personalized menu are set according to a priority described later. In the example of  FIG.  35   , the food of a lettuce sandwich and corn soup has the highest priority, and a veggie burger has the next-highest priority. Consequently, the tile object  901 C of the lettuce sandwich is arranged on top, and the tile object  901 C of the veggie burger is displayed second from the top. Vegetable curry and oolong tea has the third-highest priority while pasta in tomato sauce has the fourth-highest priority, and consequently the tile objects  901 D of these foods are displayed below the tile objects  901 C. Note that the tile object  901  for the food having the fifth-highest priority and the foods thereafter are displayable on the display  105  by performing a scrolling operation. 
     In the tile objects  901 C of the two highest-priority foods, the size is increased (for example, doubled) compared to the default size of the tile objects  901 D, a decoration that thickens the frame is applied, a decoration that emboldens the character string indicating the food name is applied, the deforming mark  3501  is displayed, the size of the image illustrating the food is increased (for example, doubled) compared to the tile objects  901 D, and the heart mark  3502  is displayed. Furthermore, in the tile objects  901 C, a message such as “soybeans help ensure you get enough iron” informing the user of the merits of eating the food and a message such as “contains no animal-based ingredients” addressing the user&#39;s concerns about eating the food are displayed. A predetermined wording for each food may be adopted in these messages. 
     Here, only the two highest-priority foods are displayed in the form of the tile objects  901 C, but the number of foods displayed in the form of the tile objects  901 C is not limited to the two highest-priority foods, and may also be extended to the three or four highest-priority foods, for example. 
     In the example of  FIG.  35   , the tile objects  901 C are set to nearly the same width as the operation screen G 106 . On the other hand, the tile objects  901 D are set to approximately half the width of the tile objects  901 C. Consequently, the tile objects  901 D of the third-highest and fourth-highest priority are displayed on the same row. The tile objects of the fifth-highest priority and thereafter are arranged two at a time in the priority order such that two tile objects  901 D are positioned on the same row, similarly to the third-highest and fourth-highest tile objects. At this time, the tile objects  901 D are arranged on the same row such that the tile object  901 D having the higher priority is positioned on the left for example and the tile object  901 D having the lower priority is positioned on the right for example. The heights of the tile objects  901 C and  901 D are set to the same size. 
     The example of  FIG.  35    is a personalized menu for a vegan, and therefore the message “for vegans” is displayed with respect to the veggie burger. 
     To achieve the above, the arithmetic unit  104  calculates a priority described later for each food included in the menu information. Additionally, the arithmetic unit  104  generates image data of the operation screen G 106  including the personalized menu by arranging the tile objects  901  of the foods in order of highest priority according to predetermined layout information for the personalized menu. As the layout information, information prescribing the placement position of the tile object  901  according to priority and the decoration content described above according to priority for each food may be adopted, for example. 
     Image data that fits into the display area of the display  105  starting the beginning of the generated image data of the personalized menu is displayed on the display  105  as an initial screen. Subsequently, if an operation of scrolling the display is inputted, the arithmetic unit  104  may cause the display of the personalized menu to scroll by sliding the display area of the personalized menu downward. 
     In  FIG.  35   , for the tile objects  901 C, the display order, the size, the frame thickness, the frame decoration, the size of the image illustrating the food, the mark  3501  deforming the food around the image illustrating the food, the size of the character string of the food name, the deformation applied to the character string of the food name, and the heart mark  3502  indicating a favorite are set, but at least one of the above settings may be adopted. 
       FIG.  36    is a diagram illustrating an example of the operation screen G 106  including a second variation of the personalized menu. In this example, a display method for a food of lower priority is illustrated. The left side of  FIG.  36    illustrates the operation screen G 106  before the user selects a tile object  901 , while the right side illustrates the operation screen G 106  after the user has selected a tile object  901 . On the personalized menu, for a food containing an ingredient that should be avoided by the user, a warning mark  3602  is displayed inside the tile object  901  for the food. Additionally, if a tile object  901 E including the warning mark  3602  is touched by the pointing object  1001 , a pop-up frame  3601  explaining the warning is displayed in association with the touched tile object  901 E. Here, the tile object  901 E for the Ramen A Set has been selected, and this food contains ground pork, pork char siu, and eggs as ingredients that should be avoided. Consequently, in the pop-up frame  3901 , the message “This food contains the following ingredients:” is displayed, and underneath the message, the ingredients that should be avoided and the quantity of each ingredient are displayed in association with each other. With this arrangement, the user is presented with reference information for determining whether or not to order the food. As a result, the user is able to order a food smoothly. 
     To achieve the above, the arithmetic unit  104  references the ingredient information  2400  and the classification information to determine whether or not each food contains an ingredient that should be avoided by the user, and for the foods that contain an ingredient that should be avoided, the arithmetic unit  104  causes the warning mark  3602  to be displayed in the corresponding tile object  901 . Subsequently, if the tile object  901  is touched, the arithmetic unit  104  extracts the ingredient(s) that should be avoided and the quantity of each ingredient from the ingredient information  2400  of the corresponding food, and causes the extracted information to be displayed inside the pop-up frame  3601 . 
     The arithmetic unit  104  may display the warning mark  3602  only on the personalized menu, or also on the standard menu. In the case of displaying the warning mark  3602  on the standard menu, the arithmetic unit  104  may display the warning mark  3602  on the personalized menu with a different appearance than the standard menu. For example, the warning mark  3602  displayed on the personalized menu may be displayed with a larger size, a more conspicuous color, or a more conspicuous pattern compared to the warning mark  3602  displayed on the standard menu. 
     For flexitarians and reducetarians, the arithmetic unit  104  may display the warning mark  3602  only on the personalized menu, and does not have to display the warning mark  3602  on the standard menu. 
     Note that for a food containing an ingredient with a resistance value of 0 that should be avoided absolutely by the user, the arithmetic unit  104  may also display the prohibited mark  3603  illustrated in  FIG.  37    instead of the warning mark  3602  on the tile object  901  of the food. Alternatively, for a food containing an ingredient with a resistance value of 0, the arithmetic unit  104  may hide the tile object  901  of the food regardless of the type of vegetarianism. 
     Alternatively, for a food containing an ingredient with a resistance value of 0, the arithmetic unit  104  may display the prohibited mark  3603  in the tile object  901  of the food and furthermore prohibit selection by the pointing object  1001 . In this case, the tile object  901  of the food may also be grayed out.  FIG.  37    is a diagram illustrating an example of the operation screen G 106  including grayed-out tile objects  901 . Here, a prohibited mark  3603 A applied to a tile object  901 E indicates a prohibited mark  3603  applied to a tile object  901  that is not grayed out. A prohibited mark  3603 B applied to a tile object  901 F indicates a prohibited mark  3603  applied to a tile object  901  that is grayed out. The prohibited mark  3603 A is displayed in a lighter color than the prohibited mark  3603 B. This is to make it easy to distinguish between the image illustrating the food displayed in the tile object  901 E and the prohibited mark  3603 A. In  FIG.  37   , the prohibited mark  3603 A and the prohibited mark  3603 B are both displayed at the same time, but a configuration that displays only one may also be adopted. 
     A tile object  901 F is grayed out by displaying the image illustrating the food semi-transparently. Here, the character string of the food name is not displayed semi-transparently, but the character string may also be displayed semi-transparently. 
     The arithmetic unit  104  may display the warning mark  3602  in the tile object  901  only for foods containing an ingredient with predetermined resistance values (for example, 1 to 3), and does not have to display the warning mark  3602  for foods containing an ingredient with a resistance value (for example, 4 or 5) other than the predetermined resistance values. Furthermore, in the case where the pointing object  1001  touches a tile object  901  in which the warning mark  3602  or the prohibited mark  3603  is displayed, the arithmetic unit  104  may drive a vibrator provided in the information terminal  100  to cause the information terminal  100  to vibrate. This arrangement makes it possible to inform the user that the food contains an ingredient that should be avoided in an easily understandable way. 
       FIG.  38    is a diagram illustrating an example of the operation screen G 106  including a third variation of the personalized menu. When the user touches the tile object  901  of a certain food with the pointing object  1001 , the personalized menu suggests ordering a food containing a nutrient that the user tends to be deficient in. The left side of  FIG.  38    illustrates the operation screen G 106  before the user selects a tile object  901 , while the right side illustrates the operation screen G 106  after the user has selected a tile object  901 . 
     For example, iron is an example of a nutrient that tends to be deficient in vegetarians. Natto is rich in iron. Accordingly, in this example, when a tile object  901 G for “mushroom pasta” is touched by the pointing object  1001 , the arithmetic unit  104  displays a pop-up frame  3801  encouraging an additional order of natto in association with the tile object  901 G. In the pop-up frame  3801 , the message “Add some natto to boost your iron intake?” is displayed, and furthermore, the additional quantity (+1.5 mg) of iron that can be absorbed by adding natto is displayed. This arrangement appeals to the user to supplement iron efficiently by additionally ordering natto. 
     Moreover, a No button  3804  and a Yes button  3805  are included in the pop-up frame  3801 . When the Yes button  3805  is touched by the pointing object  1001 , the arithmetic unit  104  determines that an additional order for natto has been placed, and changes the order content from an individual order of “mushroom pasta” to the combination of “mushroom pasta” and “natto”. An information mark  3802  is displayed in the tile object  901  of foods which such a pop-up frame  3801  is displayable. 
     On the other hand, if the No button  3804  is touched by the pointing object  1001 , the arithmetic unit  104  does not change the order content. 
     For example, the arithmetic unit  104  references the ingredient information  2400  of a food to determine whether or not the quantity of a nutrient such as iron that tends to be deficient in vegetarians falls below a threshold, and applies the information mark  3802  to the food determined to fall below the threshold. In this way, in the case where a food with the information mark  3802  applied is selected, a suggestion for improving nutrient balance and helping to maintain health is provided through the personalized menu. 
     Calculation of Priority 
     Next, the calculation of priority will be described. In the present embodiment, the arithmetic unit  104  of the information terminal  100  calculates the priority of each food included in the menu information, and generates a personalized menu in which each food is displayed with an appearance corresponding to the priority. Note that foods with a higher priority value are prioritized for display. Hereinafter, a method of calculating the priority will be described. First, the arithmetic unit  104  references the ingredient information  2400  of a certain food and specifies the ingredients contained in the food as well as the quantity of each ingredient. Next, for each ingredient contained in the food that corresponds to an ingredient listed in the classification information illustrated in  FIG.  23   , the arithmetic unit  104  may perform a process of multiplying the quantity of the ingredient by a coefficient calculated according to (0.2*resistance value−1), and lowering the display priority on the personalized menu for a lower total value of the ingredients contained in the food. 
     For example, for the Ramen B Set (shoyu ramen and three soup dumplings) illustrated in  FIG.  24   , the 18 g of pork char siu in the shoyu ramen and the 10 g of ground pork, 1 g of honey, and 10 g of chicken stock in the soup dumplings are calculated as follows with respect to the resistance values of “0” for pork, “0” for chicken, and “5” for honey in the ingredient list of the classification information illustrated in  FIG.  23   . 
     According to 18*(0.2*0−1)+3*(10*(0.2*0−1)+1*(0.2*5−1)+10*(0.2*0−1))=−78, the priority of the food is calculated as −78. In this way, the arithmetic unit  104  calculates the priority of each food included in the menu information. 
     The above description is merely an example, and the present disclosure may be applied in various applications by persons skilled in the art. 
     In the foregoing embodiment, the user&#39;s seat is presumed to be a chair, but the present disclosure is not limited thereto, and the user&#39;s seat may correspond to one section of a table where the user eats at a stand-up restaurant, for example. 
     In the foregoing embodiment, each structural element may be configured by dedicated hardware, or realized by executing a software program suited to each structural element. Each structural element may be realized as a result of a program execution unit such as a CPU or a processor reading out and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. 
     The scope of the present disclosure is not limited to the embodiment described above. Embodiments obtained by applying various modifications that may occur to persons skilled in the art or embodiments formed by combining the structural elements in different embodiments may also be included in the scope of the present disclosure insofar as such embodiments do not depart from the gist of the present disclosure. 
     According to an example of a control method according to the present disclosure, a personalized menu is generated with consideration for ingredients that should be avoided by a vegetarian user, and therefore the present disclosure is useful in a food ordering system applied to a restaurant.