Information processing device and information processing program
The transaction processing system addresses the issue of operator distraction by using detection and determination means to ensure that transactions are only processed when the operator is stationary, enhancing operational safety and efficiency.
Patent Information
- Application Number
- JP2025001785
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-01-06
- Publication Date
- 2025-04-10
- Estimated Expiration
- 2040-05-21
AI Technical Summary
Existing transaction processing systems in mobile terminal devices often distract operators, such as customers, when they are in motion, as they need to operate the device while navigating.
The system includes acquisition, detection, and determination means to identify the operator's presence within a predetermined area and detect their movement. When the operator is stationary within the area, the system determines the identifier for transaction purposes.
This solution effectively prevents operators from being distracted by the operation of the mobile terminal device while moving, ensuring that transactions can be conducted safely and efficiently without interruptions.
Smart Images

Figure 2025061022000001_ABST
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to an information processing device and an information processing program. [Background technology]
[0002] A transaction processing system in which transaction details are registered in response to a customer's operation of a mobile terminal device is being considered, for example, as a cart POS system or a smartphone POS system. In such a system, it is undesirable for a customer to become distracted by operating a mobile terminal device while moving. In view of these circumstances, it has been desirable to prevent operators, such as customers, from being distracted by operations while on the move. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-168839 A Summary of the Invention [Problem to be solved by the invention]
[0004] An object of the present invention is to provide a terminal device and an information processing program that can prevent an operator from being distracted by an operation while moving. [Means for solving the problem]
[0005] The information processing device of the embodiment includes an acquisition means, a first detection means, a second detection means, and a determination means. The acquisition means acquires an identifier in response to an operation by an operator. The first detection means detects a presence state in which the operator is present in a predetermined area. The second detection means detects the movement of the operator. The determination means determines the identifier acquired by the acquisition means as the identifier of the transaction object when the presence state is detected by the first detection means and the movement is not detected by the second detection means. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 is a block diagram showing a schematic configuration of a transaction processing system according to an embodiment. [Diagram 2] 2 is a block diagram showing a main circuit configuration of the store server in FIG. 1; [Diagram 3] 2 is a block diagram showing a main circuit configuration of the virtual POS server in FIG. 1; [Figure 4] FIG. 2 is a block diagram showing a main circuit configuration of the mobile controller in FIG. [Diagram 5] 5 is a schematic diagram showing the main data structure of a data record contained in the transaction management database in Figure 4. [Figure 6] FIG. 5 is a schematic diagram showing the main data structure of a data record contained in the registration database in FIG. 4. [Figure 7] FIG. 2 is a block diagram showing a main circuit configuration of the communication server in FIG. [Figure 8] 2 is a block diagram showing a main circuit configuration of the user terminal in FIG. 1; [Figure 9] 9 is a flowchart of information processing by the processor shown in FIG. 8 . [Figure 10] 9 is a flowchart of information processing by the processor shown in FIG. 8 . [Figure 11] 9 is a flowchart of information processing by the processor shown in FIG. 8 . [Figure 12] 9 is a flowchart of information processing by the processor shown in FIG. 8 . [Figure 13] 9 is a flowchart of information processing by the processor shown in FIG. 8 . [Figure 14] 5 is a flowchart of information processing by the processor shown in FIG. 4. [Figure 15] 5 is a flowchart of information processing by the processor shown in FIG. 4. [Figure 16] 5 is a flowchart of information processing by the processor shown in FIG. 4. [Figure 17] 5 is a flowchart of information processing by the processor shown in FIG. 4. [Figure 18] FIG. 13 is a diagram showing an example of a list screen. [Figure 19] FIG. 13 is a diagram showing an example of a registration screen. [Figure 20] FIG. 13 is a diagram showing an example of a warning screen. [Figure 21] FIG. 13 is a diagram showing an example of a list screen. [Figure 22] FIG. 13 is a diagram showing an example of a checkout screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] An embodiment of a transaction processing system will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of a transaction processing system according to this embodiment. The transaction processing system is configured so that a plurality of store systems 100, relay servers 200, and user terminals 300 can communicate with each other via a communication network 400. FIG. 1 shows two store systems 100. These store systems 100 are installed in two different stores, Store A and Store B, which use the transaction processing system. There may be three or more stores that use the transaction processing system, with a store system 100 installed in each store. In the following, when it is necessary to distinguish between the store systems 100 installed in each store, the store system 100 installed in Store A will be referred to as store system 100-1, and the store system 100 installed in Store B will be referred to as store system 100-2. The business operator who operates store A may be the same as or different from the business operator who operates store B. When the transaction system is used in other stores, the business operator who operates the other stores may be the same as or different from the business operator who operates store A or store B.
[0008] The relay server 200 relays data communication between the user terminal 300 and the store system 100. The relay server 200 provides a data communication relay function as a cloud service via a communication network 400, for example. The user terminal 300 is an information processing device that functions as a user interface for a customer who uses the transaction system to shop at a store. The user terminal 300 has a function of wirelessly communicating with the store system 100 and a function of wirelessly communicating with the communication network 400. As the user terminal 300, a communication terminal with a data communication function such as a smartphone or a tablet terminal can be used. The user terminal 300 may be owned by the customer or may be loaned to the customer at the store. The communication network 400 may be, for example, the Internet, a virtual private network (VPN), a local area network (LAN), a public communication network, a mobile communication network, or the like, either alone or in appropriate combination. Typically, the communication network 400 is a mobile communication network and the Internet or a VPN.
[0009] The general configuration of each store system 100 is the same. That is, the store system 100 is configured so that the store server 1, virtual POS server 2, mobile controller 3, communication server 4, payment machine 5, and access point 6 can communicate with each other via an in-store communication network 7. However, the store server 1, virtual POS server 2, mobile controller 3, communication server 4, payment machine 5, access point 6, and in-store communication network 7 only need to have the same functions for implementing the operations described below, and do not need to be completely identical. Some store systems 100 may also be equipped with devices not shown in FIG. 1.
[0010] The store server 1 comprehensively manages a plurality of transactions that are the subject of transaction processing realized as described below by the store system 100. The store server 1 has, for example, the same functions as an existing POS server. The virtual POS server 2 performs information processing for registering purchased items for each transaction and settling the price of the purchased items in response to an external request. In other words, the virtual POS server 2 virtually realizes the functions of existing POS terminals. The information processing performed by the virtual POS server 2 is customized to accommodate differences in the management policies of each store. In other words, there may be some differences between the information processing performed by the store server 1 provided in the store system 100-1 and the information processing performed by the store server 1 provided in the store system 100-2, for example.
[0011] The mobile controller 3 assists the virtual POS server 2 in carrying out the above-mentioned information processing while using the user terminal 300 as a user interface device. The communication server 4 performs communication processing for the store server 1, the virtual POS server 2, the mobile controller 3, and the payment machine 5 to exchange data with the relay server 200 and the like via the communication network 400.
[0012] The accounting machine 5 calculates the price of the purchased item for each transaction managed by the virtual POS server 2, and performs processing to have the customer pay the price. The payment methods that the accounting machine 5 can use for the above-mentioned payment may be all or any part of well-known payment methods, such as cash payment, credit card payment, electronic money payment, point payment, code payment (also called mobile payment or smartphone payment, etc.). The accounting machine 5 may be operated by either a store clerk or a customer. For example, the accounting machine 5 may be a self-service accounting machine used in an existing semi-self-service POS system. The accounting machine 5 may have a function of performing information processing to register the item as a purchased item. In this case, for example, the accounting machine 5 may be a face-to-face POS terminal used in an existing POS system or a self-service POS terminal used in an existing self-service POS system.
[0013] The access point 6 performs communication processing to enable the user terminal 300 to access the in-store communication network 7 via wireless communication. For example, a well-known communication device that performs wireless communication according to the IEEE802.11 standard can be used as the access point 6. The access point 6 is installed in the store so that the user terminal 300 can perform wireless communication from anywhere in the sales floor of the store. Depending on the size of the store, multiple access points 6 may be installed in one store system 100. The in-store communication network 7 may be the Internet, VPN, LAN, a public communication network, a mobile communication network, or the like, either alone or in appropriate combination. Typically, however, the in-store communication network 7 is a LAN.
[0014] In a store where the store system 100 is installed, a two-dimensional code TCI for check-in is posted near the entrance, and a two-dimensional code TCO for check-out is posted near the exit. The two-dimensional code TCI represents check-in data for check-in. The two-dimensional code TCO represents check-out data for check-out. The check-in data and check-out data differ from store to store. For this reason, when it is necessary to distinguish between the two-dimensional codes TCI and TCO for store A and the two-dimensional codes TCI and TCO for store B, the codes for store A are represented as two-dimensional codes TCIA and TCOA, and the codes for store B are represented as two-dimensional codes TCIB and TCOB.
[0015] The check-in data may represent, for example, the following information: (1) The operation version of the store system 100. For example, the check-in data represented by the two-dimensional code TCIA represents the operation version of the store system 100-1. The check-in data represented by the two-dimensional code TCIB represents the operation version of the store system 100-2. (2) A business code for identifying a business operator that operates the store in which the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TCIA represents a business code assigned to a business operator that operates store A. The check-in data represented by the two-dimensional code TCIB represents a business code assigned to a business operator that operates store B. (3) A store code for identifying the store in which the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TCIA represents the store code assigned to store A. The check-in data represented by the two-dimensional code TCIB represents the store code assigned to store B. The store code may be capable of identifying all individual stores that use the transaction processing system, or may be capable of identifying individual multiple stores operated by the same business operator.
[0016] (4) The name of the business operator that operates the store in which the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TCIA represents the name of the business operator that operates store A. The check-in data represented by the two-dimensional code TCIB represents the name of the business operator that operates store B. (5) The name of the store in which the store system 100 is installed. For example, the check-in data represented by the two-dimensional code TCIA represents the name of store A. The check-in data represented by the two-dimensional code TCIB represents the name of store B. (6) A flag for distinguishing between the two-dimensional code TCI and the two-dimensional code TCO. The flag in the check-in data indicates that the data is check-in data. The state is, for example, "1." The flag is common to all two-dimensional code TCI.
[0017] (7) IP address of the communication server 4. For example, the check-in data represented by the two-dimensional code TCIA represents the IP address of the communication server 4 included in the store system 100-1. The check-in data represented by the two-dimensional code TCIB represents the IP address of the communication server 4 included in the store system 100-2. (8) Domain name of the relay server 200. The domain name is common to all two-dimensional codes TCI. However, multiple relay servers 200 with different domain names may be used for each store. In this case, the check-in data represented by the two-dimensional code TCI represents the domain name of the relay server 200 used in the corresponding store. (9) Address of the electronic receipt server. The electronic receipt server is not included in the transaction processing system shown in FIG. 1 and provides an electronic receipt service via the communication network 400. For example, the check-in data represented by the two-dimensional code TCIA represents an address for accessing, via the communication network 400, an electronic receipt server providing an electronic receipt service used by a business operator operating store A. The check-in data represented by the two-dimensional code TCIB represents an address for accessing, via the communication network 400, an electronic receipt server providing an electronic receipt service used by a business operator operating store B. The address may be common to all two-dimensional codes TCI, or any one of multiple addresses may be represented for each two-dimensional code TCI.
[0018] (10) A flag indicating whether the user terminal 300 should use wireless communication with the access point 6 or wireless communication with the communication network 400 to exchange data with the store system 100. For example, in store A, if wireless communication with the access point 6 is used to exchange data between the store system 100-1 and the user terminal 300, the flag is set to, for example, "1." For example, in store B, if wireless communication with the communication network 400 is used to exchange data between the store system 100-2 and the user terminal 300, the flag is set to, for example, "0." (11) SSID (service set identifier) for identifying the access point 6. For example, the check-in data represented by the two-dimensional code TCIA represents the SSID for identifying the access point 6 included in the store system 100-1. The check-in data represented by the two-dimensional code TCIB represents the SSID for the access point 6 included in the store system 100-2. (12) Password for accessing the access point 6. For example, the check-in data represented by the two-dimensional code TCIA represents the password set for the access point 6 included in the store system 100-1. The check-in data represented by the two-dimensional code TCIB represents the password set for the access point 6 included in the store system 100-2.
[0019] (13) Identification number of the security method used by the access point 6. For example, the identification number is assigned as "1" to the WPA2-PSK method, "2" to the WPA-PSK method, and "3" to the WEP method. For example, if the access point 6 included in the store system 100-1 uses the WPA2-PSK method as its security method, the check-in data represented by the two-dimensional code TCIA indicates "1" as the identification number. Also, for example, if the access point 6 included in the store system 100-2 uses the WPA-PSK method as its security method, the check-in data represented by the two-dimensional code TCIB indicates "2" as the identification number. (14) A flag for identifying whether the user terminal 300 should treat a failure in connection with the relay server 200 as an error or should continue operation without treating it as an error. For example, in store A, if the user terminal 300 is set to treat a failure in connection with the relay server 200 as an error, the check-in data represented by the two-dimensional code TCIA indicates, for example, a "1" as the flag. Also, in store B, if the user terminal 300 is set to continue operation even if it fails to connect to the relay server 200, the check-in data represented by the two-dimensional code TCIB indicates, for example, a "0" as the flag.
[0020] (15) Identification number of the transmission mode related to the status of the user terminal 300. The transmission modes include, for example, the first mode, the second mode, and the third mode. For example, the identification number of the transmission mode is assigned as "1" for the first mode, "2" for the second mode, and "3" for the third mode. In the first mode, the status of the user terminal 300 is transmitted to the relay server 200. In the second mode, the status of the user terminal 300 is transmitted to the store system 100. In the second mode, the status of the user terminal 300 is not transmitted. For example, in store A, if the first mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TCIA represents "1" as the identification number. Also, in store B, if the second mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TCIB represents "2" as the identification number.
[0021] (16) Identification number of the transmission mode related to the log file that accumulates the log data of the user terminal 300. The transmission modes include, for example, the first mode, the second mode, the third mode, and the fourth mode. For example, the identification number of the transmission mode is assigned as "1" for the first mode, "2" for the second mode, "3" for the third mode, and "4" for the fourth mode. In the first mode, the log file is transmitted only to the relay server 200. In the second mode, the log file is transmitted only to the store system 100. In the third mode, the log file is transmitted to both the store system 100 and the relay server 200. In the fourth mode, the log file is not transmitted. For example, in store A, if the first mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TCIA represents "1" as the identification number. Also, in store B, if the second mode is applied as the transmission mode, the check-in data represented by the two-dimensional code TCIB represents "2" as the identification number.
[0022] (17) The host name or IP address used when transmitting the log file to the relay server 200 via the communication network 400 by FTP (file transfer protocol). (18) The user name used when transmitting the log file to the relay server 200 via the communication network 400 by FTP. (19) A password used when transmitting the log file to the relay server 200 via the communication network 400 by FTP. (20) The path name of the log file to be transmitted by FTP to the relay server 200 via the communication network 400.
[0023] (21) A flag for identifying whether or not to delete the check digit of a UPC (universal product code), which is a type of product code. For example, if store A operates in a manner that does not delete the check digit, then the check-in data represented by the two-dimensional code TCIA will indicate, for example, a "1" as the flag. For example, if store B operates in a manner that deletes the check digit, then the check-in data represented by the two-dimensional code TCIB will indicate, for example, a "0" as the flag. (22) The time until the camera screen automatically transitions on the user terminal 300. The check-in data represented by the two-dimensional code TCIA represents the time, which is a time that has been preset for store A. The check-in data represented by the two-dimensional code TCIB represents the time, which is a time that has been preset for store B. (23) Timeout time when the user terminal 300 communicates with the store system 100 via the access point 6. The check-in data represented by the two-dimensional code TCIA represents the time, which is preset for store A. The check-in data represented by the two-dimensional code TCIB represents the time, which is preset for store B.
[0024] (24) The number of retries allowed when communication between the user terminal 300 and the store system 100 via the access point 6 times out. The check-in data represented by the two-dimensional code TCIA represents the number of retries as a preset number for store A. The check-in data represented by the two-dimensional code TCIB represents the time as a preset number for store B. (25) Timeout time when the user terminal 300 communicates with the store system 100 via the relay server 200. The check-in data represented by the two-dimensional code TCIA represents the time set in advance for store A. The check-in data represented by the two-dimensional code TCIB represents the time set in advance for store B. (26) The number of retries allowed when communication between the user terminal 300 and the store system 100 via the relay server 200 times out. The check-in data represented by the two-dimensional code TCIA represents the number of retries as a preset number for store A. The check-in data represented by the two-dimensional code TCIB represents the time as a preset number for store B.
[0025] (27) Authentication data used in the authentication process to authenticate the declaration of confirmation completion for a transaction involving an item that requires confirmation by a store clerk. The check-in data represented by the two-dimensional code TCIA represents authentication data that has been preset for store A. The check-in data represented by the two-dimensional code TCIB represents authentication data that has been preset for store B. It is preferable that the authentication data be determined differently for each store, but the same authentication data may be set for different stores. (28) Data for identifying the operation mode of the store system 100. For example, if the store system 100-1 is set to a normal mode in which the transaction processing system is normally operated, the check-in data represented by the two-dimensional code TCIA indicates, for example, "1" as the relevant data. Also, for example, if the store system 100-2 is set to a demo mode in which the transaction processing system is demo operated, the check-in data represented by the two-dimensional code TCIB indicates, for example, "2" as the relevant data. (29) Data for identifying the mode of data transfer to the accounting machine 5. For example, if the store system 100-1 is set to a mode in which data transfer is requested from the accounting machine 5 to the mobile controller 3, the check-in data represented by the two-dimensional code TCIA represents the relevant data, for example, "1." Also, if the store system 100-2 is set to a mode in which data is transferred from the mobile controller 3 to the accounting machine 5 without a request from the accounting machine 5, the check-in data represented by the two-dimensional code TCIB represents the relevant data, for example, "2."
[0026] (30) A flag indicating whether or not payment is permitted using the code payment method via operation on the user terminal 300. For example, if the code payment is permitted in store A, the check-in data represented by the two-dimensional code TCIA indicates, for example, a "1" as the flag. Also, for example, if the code payment is not permitted in store B, the check-in data represented by the two-dimensional code TCIB indicates, for example, a "0" as the flag. (31) A flag for identifying whether or not a product for which an age restriction for the purchaser is set (hereinafter referred to as an age-restricted product) is permitted to be registered on the user terminal 300. For example, if store A permits registration of age-restricted products on the user terminal 300, the check-in data represented by the two-dimensional code TCIA will indicate, for example, a "1" as the flag. Also, for example, if store B does not permit the code payment, the check-in data represented by the two-dimensional code TCIB will indicate, for example, a "0" as the flag. (32) Data for identifying the input mode of the member code of a point member. For example, if the store system 100-1 is set to a mode in which the member code is manually entered, the check-in data represented by the two-dimensional code TCIA will indicate, for example, "1" as the relevant data. Also, for example, if the store system 100-2 is set to a mode in which the member code is entered by reading a barcode, the check-in data represented by the two-dimensional code TCIB will indicate, for example, "2" as the relevant data.
[0027] (33) A flag for identifying whether confirmation by a store clerk is required when entering a member code when the mode for manually entering the member code of a point member is set. For example, if such confirmation is required at store A, the check-in data represented by the two-dimensional code TCIA indicates, for example, a "1" as the flag. Also, for example, if such confirmation is not required at store B, the check-in data represented by the two-dimensional code TCIB indicates, for example, a "0" as the flag. (34) A threshold for checking the remaining battery level of the user terminal 300 at check-in. The threshold is set for each store or business. For example, if the business operating store A sets the threshold as "20%," the check-in data represented by the two-dimensional code TCIA indicates the threshold as, for example, "20". Also, if store B sets the threshold as "25%," the check-in data represented by the two-dimensional code TCIB indicates the threshold as, for example, "25". The above are examples of information represented by check-in data. However, the check-in data may not include some of the various pieces of information shown above. Also, the check-in data may represent information other than the various pieces of information shown above.
[0028] FIG. 2 is a block diagram showing the main circuit configuration of the store server 1. As shown in FIG. The store server 1 includes a processor 11, a main memory 12, an auxiliary storage unit 13, a communication interface 14, and a transmission path 15. The processor 11, the main memory 12, the auxiliary storage unit 13, and the communication interface 14 are capable of communicating with each other via the transmission path 15. The processor 11, the main memory 12, and the auxiliary storage unit 13 are connected by the transmission path 15 to configure a computer for controlling the store server 1.
[0029] The processor 11 corresponds to the central part of the computer. The processor 11 executes information processing for realizing various functions of the store server 1 according to information processing programs such as an operating system and application programs. The processor 11 is, for example, a CPU (central processing unit).
[0030] The main memory 12 corresponds to the main storage portion of the computer. The main memory 12 includes a nonvolatile memory area and a volatile memory area. The main memory 12 stores the information processing program in the nonvolatile memory area. The main memory 12 may store data required for the processor 11 to execute information processing in a nonvolatile or volatile memory area. The main memory 12 uses the volatile memory area as a work area where data is appropriately rewritten by the processor 11. The nonvolatile memory area is, for example, a ROM (read only memory). The volatile memory area is, for example, a RAM (random access memory).
[0031] The auxiliary storage unit 13 corresponds to the auxiliary storage portion of the computer. As the auxiliary storage unit 13, for example, a storage unit using a well-known storage device such as an EEPROM (electric erasable programmable read-only memory), a HDD (hard disk drive), or an SSD (solid state drive) can be used. The auxiliary storage unit 13 stores data used by the processor 11 in performing various processes, or data created by the processes in the processor 11. The auxiliary storage unit 13 may also store the above-mentioned information processing program.
[0032] The communication interface 14 performs data communication in accordance with a predetermined communication protocol with each unit connected to the in-store communication network 7. As the communication interface 14, for example, a well-known communication device for a LAN can be applied. The transmission path 15 includes an address bus, a data bus, and control signal lines, and transmits data and control signals between the connected components.
[0033] The auxiliary storage unit 13 stores a store management application APAA, which is one of the information processing programs. The store management application APAA is an application program, and describes information processing for realizing the functions of the store server 1. The store management application APAA may be a separate application created for each store or for each store operating company in accordance with the store operating policy. For example, if the sales data management methods of store A and store B are different, the store management application APAA used in the store system 100-1 describes information processing for managing sales data adapted to the sales data management method of store A, and the store management application APAA used in the store system 100-2 describes information processing for managing sales data adapted to the sales data management method of store B.
[0034] A part of the storage area of the auxiliary storage unit 13 is used as a database group DBAA. The database group DBAA includes a plurality of databases for various types of information management. One of the databases included in the database group DBAA is a product database for managing products sold in the store. The product database is a collection of data records associated with the products to be managed. The data records in the product database include data on the associated products, such as product codes, prices, and product names. The product codes are identifiers determined to identify products for each SKU (stock keeping unit), and for example, JAN (Japanese article number) codes are used. The product names are names determined to make it easy for humans to distinguish between products. The price is the amount of money paid for the sale of the product.
[0035] One of the databases included in the database group DBAA is a user database for managing users of the store. The user database is a collection of data records associated with customers who are registered as users. The data records of the user database include data on the associated customers, such as a user code and attribute information for identifying the user. The user code is a unique identification code assigned to each customer to identify the user individually. The attribute information may include name, gender, age, address, telephone number, etc. The data records of the user database may also include payment information declared by the user. The payment information may be a credit number or a code payment ID (identifier). In addition, when multiple payment methods are selectable, the payment information may also include a payment method code for identifying the payment method. In addition, in the case of a store that provides a point service, the payment information may also include a point service ID and the number of points held.
[0036] In addition, the database group DBAA may include various databases such as those managed by a POS server in an existing POS system. Note that the types of databases included in the database group DBAA, or the type of data and the structure in which those databases include, may be determined for each store.
[0037] FIG. 3 is a block diagram showing the main circuit configuration of the virtual POS server 2. As shown in FIG. The virtual POS server 2 includes a processor 21, a main memory 22, an auxiliary storage unit 23, a communication interface 24, and a transmission path 25. The processor 21, the main memory 22, the auxiliary storage unit 23, and the communication interface 24 are capable of communicating with each other via the transmission path 25. The processor 21, the main memory 22, and the auxiliary storage unit 23 are connected by the transmission path 25 to configure a computer for controlling the virtual POS server 2. The functions of the processor 21, the main memory 22, the auxiliary storage unit 23, the communication interface 24, and the transmission path 25 are generally equivalent to those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 24, and the transmission path 25, and therefore will not be described here.
[0038] However, the auxiliary storage unit 23 stores a virtual POS application APBA instead of the store management application APAA. The virtual POS application APBA is an application program, and describes information processing for realizing the functions of the virtual POS server 2. The virtual POS application APBA may be a separate application created for each store or for each store operating company in accordance with the store operating policy. For example, if store A provides a discount service that is not provided in store B, the virtual POS application APBA used in the store system 100-1 describes information processing for realizing the discount service, and the virtual POS application APBA used in the store system 100-2 does not describe information processing for realizing the discount service.
[0039] Furthermore, a portion of the memory area of the auxiliary memory unit 23 is used as a transaction database DBBA in place of the database group DBAA. The transaction database DBBA is a collection of data records associated with transactions with customers who are shopping around the store. The data records of the transaction database DBBA include transaction codes and product data related to products registered as purchased products. The transaction code is a unique identification code set for each transaction to identify each transaction. The product data indicates the product code, product name, price, quantity, etc. The structure of the transaction database DBBA may be determined individually to suit the store management policy of each store or each business operator operating the store.
[0040] FIG. 4 is a block diagram showing the main circuit configuration of the mobile controller 3. The mobile controller 3 includes a processor 31, a main memory 32, an auxiliary storage unit 33, a communication interface 34, and a transmission path 35. The processor 31, the main memory 32, the auxiliary storage unit 33, and the communication interface 34 are capable of communicating with each other via the transmission path 35. The processor 31, the main memory 32, and the auxiliary storage unit 33 are connected by the transmission path 35 to configure a computer for controlling the mobile controller 3. Note that the functions of the processor 31, the main memory 32, the auxiliary storage unit 33, the communication interface 34, and the transmission path 35 are generally similar to those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 14, and the transmission path 15, and therefore a description thereof will be omitted.
[0041] However, the auxiliary storage unit 33 stores a registration assistance application APCA instead of the store management application APAA. The registration assistance application APCA is an application program in which information processing (described later) for assisting in the registration of purchased items is described. The registration assistance application APCA is common to each store system 100. However, various settings for information processing based on the registration assistance application APCA may be customized for each store system 100.
[0042] Furthermore, part of the storage area of the auxiliary storage unit 23 is used as a transaction management database DBCA and a registration database DBCB in place of the database group DBAA. The structures of the transaction management database DBCA and the registration database DBCB are common to all store systems 100.
[0043] FIG. 5 is a schematic diagram showing the main data structure of a data record DRA contained in the transaction management database DBCA. The transaction management database DBCA is a collection of data records DRA associated with the user terminals 300 used by customers in the store. Therefore, when there is one customer in the store, the transaction management database DBCA contains one data record DRA. When there are no customers in the store, the transaction management database DBCA does not contain any data record DRA. The data record DRA contains fields FAA, FAB, and FAC.
[0044] In the field FAA, a terminal code for distinguishing the associated user terminal 300 from other user terminals 300 is set. As the terminal code, for example, a unique identification code set for each communication terminal to distinguish each communication terminal used as the user terminal 300 can be used. Alternatively, as the terminal code, for example, an identification code set for a smartphone POS app described later when the smartphone POS app is installed in the user terminal 300 can be used. In the field FAB, a membership code for distinguishing a customer using the associated user terminal 300 from other customers is set. In the field FAC, a transaction code for a transaction performed using the associated user terminal 300 is set.
[0045] FIG. 6 is a schematic diagram showing the main data structure of a data record DRB contained in the registration database DBCB. The registration database DBCB is a collection of data records DRB associated with transactions with customers shopping around the store. The data records DRB include fields FBA, FBB. The data records DRB may also include fields FBC, FBD, ...
[0046] Field FBA is set with the transaction code of the associated transaction. This transaction code is the same as the transaction code set in field FAB of data record DRA associated with the user terminal 300 used in the associated transaction. Field FBB is set with registration data regarding the product registration attempted for the associated transaction. The registration data will be described later. The data record DRB includes fields FBC and after if an attempt is made to register two or more purchase items for an associated transaction, and the fields FBC and after are set with the same registration data as field FBB.
[0047] FIG. 7 is a block diagram showing the main circuit configuration of the communication server 4. As shown in FIG. The communication server 4 includes a processor 41, a main memory 42, an auxiliary storage unit 43, a communication interface 44, a communication unit 45, and a transmission path 46. The processor 41, the main memory 42, the auxiliary storage unit 43, the communication interface 44, and the communication unit 45 are capable of communicating with each other via the transmission path 46. The processor 41, the main memory 42, and the auxiliary storage unit 43 are connected by the transmission path 46 to configure a computer for controlling the communication server 4. The functions of the processor 41, the main memory 42, the auxiliary storage unit 43, the communication interface 44, and the transmission path 46 are generally equivalent to those of the processor 11, the main memory 12, the auxiliary storage unit 13, the communication interface 14, and the transmission path 15, and therefore will not be described here. The communication unit 45 performs communication processing for data communication via the communication network 400. As the communication unit 45, for example, a well-known Internet connection device can be applied.
[0048] The auxiliary storage unit 43 stores a communication processing application APDA instead of the store management application APAA. The communication processing application APDA is an application program that describes information processing for communicating with the relay server 200 via the communication network 400 to enable data exchange between the mobile controller 3 and the user terminal 300. The communication processing application APDA is common to each store system 100. However, various settings for information processing based on the communication processing application APDA may be customized for each store system 100.
[0049] FIG. 8 is a block diagram showing the main circuit configuration of the user terminal 300. As shown in FIG. The user terminal 300 includes a processor 301, a main memory 302, an auxiliary storage unit 303, a touch panel 304, a camera 305, a sound unit 306, a group of sensors 307, a wireless communication unit 308, a mobile communication unit 309, and a transmission path 310. The processor 301 can communicate with the main memory 302, the auxiliary storage unit 303, the touch panel 304, the camera 305, the sound unit 306, the group of sensors 307, the wireless communication unit 308, and the mobile communication unit 309 via a transmission path 310. The processor 301, the main memory 302, and the auxiliary storage unit 303 are connected by the transmission path 310 to configure a computer for controlling the user terminal 300. The functions of the processor 301, the main memory 302, the auxiliary storage unit 303, and the transmission path 310 are generally the same as those of the processor 11, the main memory 12, the auxiliary storage unit 13, and the transmission path 15, and therefore will not be described here.
[0050] The touch panel 304 functions as an input device and a display device for the user terminal 300 . The camera 305 includes an optical system and an image sensor, and generates image data representing an image within a field of view formed by the optical system using the image sensor. The sound unit 306 outputs various sounds such as voices and melodies. The sensor group 307 includes various sensors such as an angular velocity sensor and a GPS (global positioning system) sensor.
[0051] The wireless communication unit 308 transmits and receives data to and from the access point 6 through wireless communication in accordance with a wireless communication protocol. As the wireless communication unit 308, for example, a well-known communication device conforming to the IEEE802.11 standard can be used. The mobile communication unit 309 is an interface for data communication via the communication network 400. As the mobile communication unit 309, for example, a well-known communication device for performing data communication via a mobile communication network can be used.
[0052] The auxiliary storage unit 303 stores a smartphone POS app APEA, which is one of the information processing programs. The smartphone POS app APEA is an application program that describes information processing, which will be described later, for making the user terminal 300 function as a user interface for the store system 100. The smartphone POS app APEA is used in common by multiple user terminals 300.
[0053] Now, for example, a general-purpose server device can be used as the hardware of the store server 1, the virtual POS server 2, or the mobile controller 3. The transfer of the store server 1, the virtual POS server 2, or the mobile controller 3 is generally performed in a state where the store management application APAA, the virtual POS application APBA, or the registration support application APCA is stored in the auxiliary storage unit 13, 23, or 33, respectively, and the database group DBAA, the transaction database DBBA, or the transaction management database DBCA and the registration database DBCB are not stored. However, the hardware in a state where the store management application APAA, the virtual POS application APBA, or the registration support application APCA is not stored in the auxiliary storage unit 13, 23, or 33, or in a state where a different version of the same application program is stored in the auxiliary storage unit 13, 23, or 33, and the store management application APAA, the virtual POS application APBA, or the registration support application APCA may be transferred separately. Then, the store management application APAA, the virtual POS application APBA, or the registration support application APCA may be written in the auxiliary storage unit 13, 23, or 33 in response to an operation by an arbitrary worker, thereby forming the store server 1, the virtual POS server 2, or the mobile controller 3. The store management application APAA, the virtual POS application APBA, or the registration support application APCA may be transferred by recording it in a removable recording medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or by communication via a network. The transaction database DBBA, or the transaction management database DBCA, and the registration database DBCB are formed in the auxiliary storage unit 13, 23, or 33 by the processor 11, 21, or 31 executing information processing based on the store management application APAA, the virtual POS application APBA, or the registration support application APCA. At least a part of the store management application APAA and the databases included in the database group DBAA may be stored in the main memory 12. At least a part of the virtual POS application APBA and the transaction database DBBA may be stored in the main memory 22. At least a portion of the registration assistance application APCA, the transaction management database DBCA, and the registration database DBCB may be stored in the main memory 32.
[0054] Next, the operation of the transaction processing system configured as described above will be described. Note that the contents of the various processes described below are merely examples, and it is possible to change the order of some of the processes, omit some of the processes, or add other processes as appropriate. For example, in the following description, in order to easily explain the characteristic operations of this embodiment, the description of some of the processes is omitted. For example, when some kind of error occurs, a process may be performed to deal with the error, but the description of some of such processes is omitted. The services provided to customers through the operation of the transaction processing system described below are referred to as smartphone POS services.
[0055] To use the smartphone POS service, the user terminal 300 exchanges data with the store system 100. The state of a flag included in the check-in data determines whether to use wireless communication with the access point 6 or wireless communication with the communication network 400 for this communication. However, in the following, for the sake of simplicity, a case will be described in which only wireless communication with the access point 6 is used. In addition, the state of a flag included in the check-in data determines whether to use a mode in which the payment machine 5 requests the mobile controller 3 to transfer data to the virtual POS server 2 to have the payment machine 5 perform a transaction, or a mode in which the mobile controller 3 transfers data to the payment machine 5 without a request from the payment machine 5. However, in the following, for the sake of simplicity, the mode in which the payment machine 5 requests the mobile controller 3 to transfer data is used as a fixed mode.
[0056] To use the smartphone POS service, a customer installs the smartphone POS app APEA on a smartphone or the like that he or she owns, making it available as a user terminal 300. Alternatively, the customer borrows the user terminal 300 configured by installing the smartphone POS app APEA on a tablet terminal or the like from a store. The customer then enters any store in which a store system 100 is installed, carrying the user terminal 300 with information processing based on the smartphone POS app APEA activated.
[0057] In the user terminal 300, the processor 301 executes information processing as shown in FIG. 9, FIG. 10, FIG. 11, FIG. 12, and FIG. 13 based on the smartphone POS application APEA. First, as ACT101 shown in Fig. 9, the processor 301 displays a main menu screen on the touch panel 304. The main menu screen is a screen for receiving a specification of one of several processes to be performed based on the smartphone POS application APEA. On the main menu screen, multiple GUI elements are arranged, including a GUI (graphical user interface) element for specifying the start of shopping. The GUI elements are, for example, soft keys.
[0058] In ACT 102, the processor 301 checks whether or not the start of shopping has been designated. If the processor 301 cannot confirm the designation, it determines NO and proceeds to ACT 103. In ACT 103, the processor 301 checks whether or not a designation other than the start of shopping has been made. If the processor 301 cannot confirm the designation, it determines NO and returns to ACT 102. Thus, the processor 301 waits for some designation on the main menu screen in ACT102 and ACT103. If a designation other than the start of shopping is made, the processor 301 judges YES in ACT103 and proceeds to the designated process. Note that a description of the process of the processor 301 in this case will be omitted.
[0059] When a customer enters a store and begins shopping, the customer performs a predetermined operation on the main menu screen to specify the start of shopping. When an operation for specifying the start of shopping is detected, for example, on the touch panel 304, the processor 301 judges YES in ACT102 and proceeds to ACT104. As ACT104, the processor 301 displays a scan screen for check-in on the touch panel 304. The scan screen for check-in is a screen that prompts the customer to read the two-dimensional code TCI for check-in. The processor 301, for example, starts the camera 305, and generates the scan screen by superimposing on an image obtained by the camera 305 a text message that prompts the customer to read the two-dimensional code TCI and a line that indicates the position where the two-dimensional code TC should be held.
[0060] When the scan screen is displayed on the touch panel 304, the customer points the camera 305 at the two-dimensional code TCI posted near the store entrance so that the two-dimensional code TCI is reflected on the scan screen. In ACT105, the processor 301 waits for the two-dimensional code to be read. At this time, the processor 301 repeatedly analyzes the image obtained by the camera 305 and attempts to read the two-dimensional code. This reading of the two-dimensional code may be performed as a process based on the smartphone POS app APEA, or may be performed as a process based on another application program for reading the two-dimensional code. Then, if the two-dimensional code is read, the processor 301 judges YES and proceeds to ACT106.
[0061] In ACT 106, the processor 301 checks whether the data represented by the read two-dimensional code is check-in data. If the data is not check-in data, the processor 301 determines NO and returns to ACT 105. At this time, the processor 301 may display on the touch panel 304 a screen notifying the customer that an incorrect two-dimensional code has been read.
[0062] If the processor 301 confirms that the data represented by the read two-dimensional code is check-in data, it judges YES in ACT106 and proceeds to ACT107. The processor 301 as ACT 107 stores the read check-in data in the main memory 302 or the auxiliary storage unit 303 .
[0063] As ACT108, the processor 301 requests the mobile controller 3 to check in. Specifically, the processor 301 establishes wireless communication between the wireless communication unit 308 and the access point 6 based on the data represented in the check-in data. For example, if a customer points the camera 305 at the two-dimensional code TCIA in store A, the processor 301 establishes wireless communication with the access point 6 provided in the store system 100-1 based on the check-in data represented by the two-dimensional code TCIA. The processor 301 then transmits request data for requesting check-in to the mobile controller 3 via wireless communication with the access point 6. When wireless communication with the access point 6 provided in the store system 100-1 is established as described above, the request data is transmitted to the mobile controller 3 provided in the store system 100-1 via the access point 6 and the in-store communication network 7 provided in the store system 100-1. The processor 301 includes identification data for identifying that the request is a check-in request and a terminal code in the request data for requesting check-in. If the customer is a registered user of the smartphone POS service and has a membership code, the processor 301 also includes the membership code in the request data. The membership code is stored, for example, in the auxiliary storage unit 303 of the user terminal 300. The processor 301 may also include other data, such as data for authenticating the customer, in the request data. Various requests from the user terminal 300 to the mobile controller 3 described below are realized, as described above, by sending request data including identification data for identifying the reason for the request from the user terminal 300 to the mobile controller 3 via the access point 6 and the in-store communication network 7.
[0064] When request data for requesting check-in is received via the communication interface 34, the processor 31 in the mobile controller 3 starts processing information related to a transaction with a customer who is checking in. 14, 15, 16 and 17 are flowcharts of information processing by the processor 31. The processor 31 starts the information processing each time request data for requesting check-in is received by the communication interface 34. If information processing started based on another request is already being executed, the processor 31 starts new information processing in parallel with the other information processing. In other words, the processor 31 may execute multiple information processing in parallel, each of which is targeted at multiple user terminals 300. In the following, when the term "user terminal 300" is simply used, it refers to the user terminal 300 that is the target of information processing by the processor 31.
[0065] As ACT201 in Fig. 14, the processor 31 performs check-in processing. For example, the processor 31 requests the virtual POS server 2 to start a transaction and receives a notification of a transaction code. The processor 31 then adds a new data record DRA, in which the terminal code included in the request data is set in field FAA, to the transaction management database DBCA. If the request data includes a membership code, the processor 31 sets the membership code in field FAB of the new data record DRA. The processor 31 sets the notified transaction code in field FAC of the new data record DRA. This starts management of the transaction performed using the user terminal 300 that requested the check-in. When the processor 21 in the virtual POS server 2 receives a request from the mobile controller 3 to start a transaction, the processor 21 determines a transaction code according to a predetermined rule and starts a registration process of the purchased product in association with the transaction code. The processor 21 also notifies the mobile controller 3 of the determined transaction code.
[0066] In ACT202, the processor 31 checks whether or not the check-in process has been completed normally. If the check-in process could not be completed normally due to some abnormality, the processor 31 judges the result as NO and proceeds to ACT203. As ACT203, the processor 31 notifies the user terminal 300 of the error. For example, the processor 31 transmits notification data for notifying the error to the user terminal 300 via the in-store communication network 7 and the access point 6. The processor 31 includes identification data for identifying that the notification is an error notification in the notification data. The processor 31 may include an error code indicating the cause of the error in the notification data. In addition, various notifications from the mobile controller 3 to the user terminal 300 described below are realized, as described above, by sending notification data including identification data for identifying the reason for the notification from the mobile controller 3 to the user terminal 300 via the in-store communication network 7 and the access point 6.
[0067] On the other hand, if the check-in process is completed normally, the processor 31 judges YES in ACT202 and proceeds to ACT204. As ACT204, the processor 31 notifies the user terminal 300 of check-in completion. For example, the processor 31 transmits notification data for notifying the user terminal 300 of check-in completion via the in-store communication network 7 and the access point 6. The processor 31 includes identification data for identifying that the notification is a check-in completion notification in the notification data.
[0068] After the processor 301 in the user terminal 300 requests check-in in ACT 108 in FIG. In ACT109, the processor 301 checks whether or not the check-in completion has been notified. If the processor 301 cannot confirm the check-in completion, the processor 301 judges "NO" and proceeds to ACT110. In ACT110, the processor 301 checks whether or not a check-in error has been notified. If the processor 301 cannot confirm the notification, it determines NO and returns to ACT109. Thus, the processor 301 waits for a notification of check-in completion or an error in ACT109 and ACT110. If the notification data for the error notification described above is received by the wireless communication unit 308, the processor 301 determines YES in ACT110 and proceeds to ACT111.
[0069] In ACT111, the processor 301 displays an error screen on the touch panel 304. The error screen is a screen that is defined as a screen that notifies a guest that check-in is not possible. If an instruction to cancel the display of the error screen is given, for example, by operating a GUI element displayed on the error screen, the processor 301 returns to ACT101.
[0070] On the other hand, if the notification data for notifying the check-in completion is received by the wireless communication unit 308, the processor 301 judges YES in ACT109 and proceeds to ACT112 in Fig. 10. At this time, it is clear that the user terminal 300 is present inside the store. In other words, the processor 301 detects that the operator using the user terminal 300 is present inside the store, which is an example of a predetermined area. Thus, the processor 301 executes information processing based on the smartphone POS app APEA, and the computer with the processor 301 as the central part functions as a first detection means. As ACT 112, the processor 301 displays a list screen on the touch panel 304. The list screen is a screen that displays a list of registered purchased products.
[0071] FIG. 18 is a diagram showing an example of the list screen SCA. The list screen SCA includes display areas ARAA, ARAB and buttons BUAA, BUAB, and BUAC. The display area ARAA shows the total number of purchased items and the total price of the purchased items. The display area ARAB shows a list of purchased items. The button BUAA is a soft key that allows the customer to declare that he or she wishes to cancel all purchased items and stop shopping. The button BUAB is a soft key that allows the customer to declare that he or she wishes to start scanning items to be registered as purchased items. The button BUAC is a soft key that allows the customer to declare that he or she wishes to start checkout.
[0072] 18 shows the list screen SCA in a state where no purchased products have been registered yet. Therefore, the total number and total amount are both shown as "0" in the display area ARAA, and nothing is shown in the display area ARAB.
[0073] As ACT 113, the processor 301 measures the moving speed of a customer operating the user terminal 300 provided therein. For example, the processor 301 measures the moving speed of the customer as the moving speed of the user terminal 300 provided therein. For example, the processor 301 measures the moving speed of the user terminal 300 by well-known processing based on a change in angular velocity measured by an angular velocity sensor included in the sensor group 307. Alternatively, the processor 301 measures the moving speed of the user terminal 300 by well-known processing based on a change in position measured by a GPS sensor included in the sensor group 307.
[0074] In ACT114, the processor 301 checks whether or not the vehicle is in an overspeeding state. For example, the processor 301 checks whether or not the measured moving speed is equal to or greater than a predetermined threshold. If the moving speed is less than the threshold, the processor 301 judges that the vehicle is not in an overspeeding state as NO, and proceeds to ACT115. In addition, the processor 301 may apply another process in ACT114, such as checking whether or not the moving speed is equal to or less than a threshold, and judging that the vehicle is not in an overspeeding state if the moving speed is equal to or less than the threshold. The threshold may be set arbitrarily by, for example, the creator of the smartphone POS app APEA. The threshold may also be set arbitrarily by the store manager and included in the check-in data. However, the threshold should be set so that the vehicle is judged to be in an overspeeding state when the customer is actually moving. As a result, when the processor 301 judges that the vehicle is in an overspeeding state in ACT114 as YES, the processor 301 detects the movement of the customer who is the operator. Thus, the processor 301 executes information processing based on the smartphone POS app APEA, and the computer having the processor 301 as the central part functions as a second detection means.
[0075] In ACT 115, the processor 301 checks whether or not the start of scanning of the product has been specified. If the processor 301 cannot confirm the specified command, it determines that the command is NO, and proceeds to ACT 116. In ACT 116, the processor 301 checks whether or not a change in the quantity has been specified. If the processor 301 cannot confirm the specification, it determines NO and proceeds to ACT 117. In ACT 117, the processor 301 checks whether or not a shopping cancellation has been specified. If the processor 301 cannot confirm the specified cancellation, it determines NO and proceeds to ACT 118. In ACT 118, the processor 301 checks whether or not the start of a transaction has been designated. If the processor 301 cannot confirm that a transaction has been started, it determines that the result is NO and returns to ACT 113. Thus, when the speed is not exceeded, the processor 301 waits for any of the following to be specified as ACT115 to ACT118: start of scan, quantity, stop, or start of accounting.
[0076] On the other hand, if the moving speed is equal to or higher than the threshold value, the processor 301 determines that the moving speed is excessive, so that the result is YES in ACT114, and proceeds to ACT119. In ACT119, processor 301 checks whether any operation has been performed. If no operation has been confirmed, processor 301 judges NO and returns to ACT113. That is, if the speed limit is exceeded, processor 301 repeats the check in ACT119 and waits for any operation to be performed. If processor 301 checks that any operation has been performed in this state, processor 301 judges YES in ACT119 and proceeds to ACT120. That is, processor 301 proceeds to ACT120 if the customer performs an operation to specify, for example, start scanning, quantity, stop, or start checkout while moving at a moving speed equal to or higher than the threshold.
[0077] As ACT120, the processor 301 executes an alarm operation. The alarm operation is a predetermined operation for warning the customer that the device cannot be operated while moving. For example, the processor 301 drives the sound unit 306 to output a predetermined voice message. The output of the voice message is suitable for the alarm since it can audibly alert the customer. Note that the processor 301 may execute an alarm operation such as output of an alarm sound by the sound unit 306, display of an alarm screen on the touch panel 304, or lighting of a lamp (not shown) instead of or in addition to output of the voice message. Note that customers often look at the display on the touch panel 304 for operation. For this reason, the display on the touch panel 304 or the like also serves as an effective alarm. After the processor 301 finishes the alarm operation, it repeats ACT113 and the following operations in the same manner as described above.
[0078] If the customer wishes to register the product as a purchased product, the customer instructs the start of scanning by a predetermined operation such as touching a button BUAB on the list screen SCA. In response to this, the processor 301 judges YES in ACT115 and proceeds to ACT121 in FIG. As ACT 121, the processor 301 displays a registration screen on the touch panel 304. The registration screen is a screen that prompts the customer to read a barcode that represents the product code of the product to be registered as a purchased product.
[0079] FIG. 19 is a diagram showing an example of the registration screen SCB. The registration screen SCB includes a display area ARBA, a message MEBA, and a button BUBA. The display area ARBA displays an image captured by the camera 305. The message MEBA is a text message that prompts the customer to read the barcode of the product. The button BUBA is a soft key that the customer presses to stop scanning the product code. The processor 301, for example, activates the camera 305, which then overlays an image obtained by the camera 305 with a line indicating the range of the display area ARBA, and an image showing the message MEBA and button BUBA, to generate the registration screen SCB.
[0080] In ACT122, the processor 301 measures the moving speed of the customer operating the user terminal 300 provided therein, in the same manner as in ACT113 in Fig. 10. However, the processor 301 may perform processing different from ACT113 in ACT122. In ACT123, the processor 301 checks whether or not the vehicle is in an excessive speed state, for example, in the same manner as in ACT114 in Fig. 10. However, the processor 301 may perform processing in ACT123 different from that in ACT114. If the moving speed is less than the threshold, the processor 301 determines that the vehicle is not in an excessive speed state, and judges NO, and proceeds to ACT124.
[0081] In ACT124, the processor 301 checks whether the barcode has been read. At this time, the processor 301 analyzes the image obtained by the camera 305 and attempts to read the barcode. This barcode reading may be performed as a process based on the smartphone POS app APEA, or may be performed as a process based on another application program for reading barcodes. If the barcode cannot be read, the processor 301 judges NO and proceeds to ACT125. In ACT 125, the processor 301 checks whether or not a command to stop scanning has been issued. If the command has not been issued, the processor 301 determines that the command has been issued and returns to ACT 122. Thus, if the processor 301 is not in an overspeed state, it waits in ACT124 and ACT125 until the barcode is read or until a command to stop scanning is issued.
[0082] On the other hand, if the moving speed is equal to or higher than the threshold value, the processor 301 determines that the moving speed is excessive, so that the result is YES in ACT123, and proceeds to ACT126. In ACT126, processor 301 checks whether any operation has been performed. If processor 301 cannot check any operation, it judges NO and returns to ACT122. That is, if the speed limit is exceeded, processor 301 repeats the check in ACT126 and waits for any operation to be performed. If processor 301 checks that any operation has been performed in this state, it judges YES in ACT126 and proceeds to ACT127. That is, processor 301 proceeds to ACT127 if the customer performs, for example, an operation to read a barcode or an operation to stop scanning while moving at a moving speed equal to or higher than the threshold value. As ACT127, the processor 301 executes an alarm operation, for example, similar to ACT120 in Fig. 10. Thus, the processor 301 executes information processing based on the smartphone POS application APEA, and the computer with the processor 301 as the central part functions as an alarm means. However, the processor 301 may perform processing in ACT 123 that is different from that in ACT 114. After the warning operation is completed, the processor 301 repeats ACT 122 and subsequent steps in the same manner as described above.
[0083] If the customer wishes to return to the list screen without performing the current scan, the customer designates the cancellation of the scan by a predetermined operation such as touching the button BUBA. In response to this, the processor 301 judges YES in ACT125 and returns to ACT112 in FIG.
[0084] When the registration screen is displayed on the touch panel 304, the customer, without moving, aims the camera 305 at the product to be registered as a purchased product so that the barcode displayed on the product is reflected in the display area ARBA. In response to this, the processor 301 judges YES in ACT124 and proceeds to ACT128. As ACT128, the processor 301 requests the mobile controller 3 to register. The processor 301 includes data represented by the read barcode (hereinafter referred to as barcode data) in the request data sent here. At this time, the processor 301 acquires the product code included in the barcode. The product code is an example of an identifier. The processor 301 determines the product code acquired when the customer who is the operator is present in a store that is a predetermined area and the movement of the customer who is the operator is not detected as the identifier for identifying the product to be transacted. Thus, the processor 301 executes information processing based on the smartphone POS app APEA, and the computer with the processor 301 as the central part functions as an acquisition means and a determination means.
[0085] Incidentally, when the processor 301 judges YES in ACT126 as described above, the customer's operation that triggers this is the operation for reading the barcode as described above, and the customer is often looking at the display on the touch panel 304. For this reason, while a warning by a voice message similar to that in ACT120 is effective, it is also effective to display a warning screen. FIG. 20 is a diagram showing an example of the warning screen SCC. The warning screen SCC is a screen in which the window WICA is superimposed on the registration screen SCB with the barcode reflected in the display area ARBA. The window WICA displays a text message urging the customer to stop moving.
[0086] After notifying the user that check-in is complete in ACT204 in FIG. 14, the processor 31 in the mobile controller 3 proceeds to ACT205. In ACT205, the processor 31 checks whether or not a registration has been requested. If the processor 31 cannot confirm the request, it determines NO and proceeds to ACT206. In ACT206, the processor 301 checks whether or not a quantity change has been requested. If the processor 301 cannot confirm the request, it determines NO and proceeds to ACT207. In ACT207, the processor 31 checks whether a request to delete a purchased item has been made. If the processor 31 cannot confirm the request, it determines that the result is NO, and proceeds to ACT208. In ACT208, the processor 31 checks whether or not a request to cancel the purchased item has been made. If the processor 31 cannot confirm the request, it determines that the result is NO, and proceeds to ACT209. In ACT209, the processor 31 checks whether or not a payment request has been made. If the processor 31 cannot confirm the request, it determines that the payment request has been made as NO, and returns to ACT205. Thus, the processor 31 waits for any of the following requests in ACT205 to ACT209: registration, quantity change, deletion, cancellation, or accounting. If registration is requested from the user terminal 300 as described above, the processor 31 judges YES in ACT205 and proceeds to ACT210 in FIG.
[0087] As ACT 210, the processor 31 transfers a registration request together with a notification of the transaction code of the transaction being processed to the virtual POS server 2. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data after being converted by some processing to the virtual POS server 2. However, the processor 31 notifies the virtual POS server 2 of the barcode data included in the request data sent from the user terminal 300.
[0088] In the virtual POS server 2, the processor 21 assumes that the barcode data included in the request data sent from the mobile controller 3 has been read by a barcode scanner provided in an existing POS terminal, and attempts to register the purchased item using the same process as the existing POS terminal. However, for some reason, the item code represented by the barcode data may not be registered in the item database. Also, the item may have a barcode other than the one representing the item code. In these cases, the processor 21 is unable to register the purchased item and issues an error. In this way, the processor 21 registers the purchased item based on the reading of the barcode representing the item code registered in the item database. The processor 21 manages the purchased items using the transaction database DBBA.
[0089] The processor 21 transmits result data indicating the results of such processing to the mobile controller 3. If the registration of the purchased item was performed correctly, the processor 21 includes in the result data identification data for identifying that the notification is a valid registration, and the product code, product name, and price of the registered product. If the processor 21 determines that there is an error, the processor 21 includes in the result data identification data for identifying that the notification is an error, and the barcode data sent in the registration request.
[0090] After transferring the registration request in ACT210, the processor 31 in the mobile controller 3 proceeds to ACT211. The processor 31, as ACT 211, acquires the result data transmitted from the virtual POS server as described above. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.
[0091] The processor 31 updates the registration database DBCB based on the result data in ACT 212. This updating of the registration database DBCB is performed, for example, as follows.
[0092] First case: The notification is for a valid registration and the data record DRB associated with the transaction being processed does not contain any registration data containing the notified product code. In this case, the processor 31 adds a new field next to the last field already existing in the data record DRB associated with the transaction being processed, and adds new registration data to that field. The processor 31 includes in the new registration data the notified product code, an error flag set to "0" indicating that there is no error, the notified product name and price, the quantity set to "1", and a cancellation flag set to "0" indicating that the order has not been canceled. Thus, the registration data added in this case has the structure shown in the upper right corner of Figure 6.
[0093] Second case: This is a notification of a valid registration, and the data record DRB associated with the transaction being processed contains registration data that includes the notified product code, but the cancellation flag for that registration data is set to "1", indicating that it has been cancelled. In this case, processor 31 proceeds in the same manner as in the first case above.
[0094] Third case: This is a notification of a valid registration, and the data record DRB associated with the transaction being processed contains registration data that includes the notified product code, and the cancellation flag for that registration data is set to "0". In this case, the processor 31 rewrites the value of the quantity included in the registration data that includes the notified product code and has a cancellation flag of "0" to a value that is one larger.
[0095] Fourth case: It is an error notification. In this case, the processor 31 adds a new field next to the last field already existing in the data record DRB associated with the transaction being processed, and adds new registration data to that field. The processor 31 includes in the new registration data the notified barcode data and an error flag set to "1" indicating an error. Thus, the registration data added in this case has the structure shown in the lower right of Figure 6.
[0096] By updating the registration database DBCB by the processor 31 in this manner, the registration database DBCB not only shows a list of purchased items already registered in the virtual POS server 2, but also records barcode reading errors. The processor 31 may store the barcode data sent in the registration request in the main memory 32 or the auxiliary storage unit 33, and in the fourth case described above, include this stored barcode data in the registration data. In this case, the processor 21 in the virtual POS server 2 may not include the barcode data in the result data. The processor 31 may also extract a product code from the stored barcode data, and perform the processes in the first to third cases based on this product code. The processor 31 may also obtain the product name and price from the store server 1, etc., based on the product code.
[0097] In ACT213, the processor 31 instructs the user terminal 300 to display a list screen. For example, the processor 31 transmits instruction data including identification data for identifying that the instruction is to display a list screen to the user terminal 300 via the in-store communication network 7 and the access point 6. The processor 31 includes in the instruction data the product code, product name, price, and quantity included in the data record DRB with which the transaction to be processed is associated in the registration database DBCB. If the current registration is an error, the processor 31 also includes error data indicating that fact in the instruction data. The processor 31 then returns to the standby state of ACT205 to ACT209 in FIG. 14. Various instructions from the mobile controller 3 to the user terminal 300 described below are realized by sending instruction data including identification data for identifying the reason for the instruction from the mobile controller 3 to the user terminal 300 via the in-store communication network 7 and the access point 6, as described above.
[0098] After the processor 301 in the user terminal 300 requests registration in ACT 128 in FIG. In ACT 129, the processor 301 waits for an instruction to display the list screen. Then, when an instruction to display the list screen is given from the mobile controller 3 as described above, the processor 301 judges YES in ACT 129, returns to ACT 112 in Fig. 10, and causes the list screen SCA to be displayed again on the touch panel 304. At this time, the processor 301 sets the list screen SCA to a screen showing the product name, price, and quantity of the purchased product included in the instruction data.
[0099] FIG. 21 is a diagram showing an example of the list screen SCA in a state where a purchased product has already been registered. The list screen SCA shown in FIG. 21 is an example of a case where the following items have been registered as purchased: one item with the product name "AAA" and a price of 120 yen, two items with the product name "BBB" and a price of 98 yen, and one item with the product name "CCC" and a price of 1,024 yen. In the list screen SCA shown in FIG. 21, the display area ARAB shows the product name, price, and quantity of these registered items. The display area ARAA shows the total number "4" and the total amount "1,340." The area surrounded by a dashed line to the left of the product name is an area for displaying an icon. The dashed line showing this area is not actually shown on the list screen SCA.
[0100] When the customer touches an area on the list screen SCA that shows the quantity, the processor 301 displays a list box for specifying the quantity overlaid on the list screen SCA. When this list box is operated, the processor 301 receives this as a specification of the quantity. In this case, the processor 301 judges YES in ACT116 in FIG. 10 and proceeds to ACT130 in FIG. 12.
[0101] In ACT130, the processor 301 checks whether the designated number is 0. If the designated number is not 0, the processor 301 determines the answer as NO and proceeds to ACT131. As ACT131, the processor 301 requests the mobile controller 3 to change the quantity. The request data transmitted by the processor 301 here includes specific data for identifying the product whose quantity is specified and the specified number. The specific data may be a product code, or may be data that can identify the purchased product only in the mobile controller 3, such as a number for identifying each purchased product in a list of purchased products. If a product code is used as the specific code, the processor 31 includes the product code for each purchased product in the instruction data for instructing the display of a list screen.
[0102] If a quantity change is requested from the user terminal 300 as described above, the processor 31 in the mobile controller 3 judges YES in ACT 206 in FIG. 14, and proceeds to ACT 214 in FIG. As ACT214, the processor 31 transfers a request for quantity change to the virtual POS server 2, along with a notification of the transaction code of the transaction being processed. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may send the request data converted by some processing to the virtual POS server 2. However, the processor 31 notifies the virtual POS server 2 of the quantity included in the request data sent from the user terminal 300. Furthermore, if the specific data included in the request data is not a product code, the processor 31 replaces the specific data with the product code.
[0103] The processor 21 in the virtual POS server 2 assumes that the quantity included in the request data sent from the mobile controller 3 is input by an input device provided in the existing POS terminal, and changes the quantity of the purchased item by the same process as the existing POS terminal. The processor 21 transmits result data indicating the item code of the item whose quantity has been changed and the changed quantity to the mobile controller 3.
[0104] After transferring the quantity change request in ACT214, the processor 31 in the mobile controller 3 proceeds to ACT215. As ACT 215, the processor 31 acquires the result data transmitted from the virtual POS server 2 as described above. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.
[0105] In ACT216, the processor 31 updates the registration database DBCB based on the result data. That is, the processor 31 finds the registration data including the notified product code from the data record DRB associated with the transaction being processed. The processor 31 then rewrites the quantity included in the corresponding registration data to the quantity included in the result data.
[0106] The processor 31 may store the specific data and the number of items sent in the quantity change request data in the main memory 32 or the auxiliary storage unit 33, and upon receiving result data indicating that the update is complete, rewrite the number of items in the registered data related to the product specified by the stored specific data to the stored number. In this case, the processor 21 in the virtual POS server 2 does not need to include the product code and the number of items in the result data.
[0107] In ACT217, the processor 31 instructs the user terminal 300 to display a list screen. The processor 31 includes in the instruction data the product code, product name, price, and quantity contained in the registration data whose cancellation flag is "0" among the registration data contained in the data record DRB updated as described above. The processor 31 then returns to the standby state of ACT205 to ACT209 in FIG.
[0108] Now, if the designated number is 0, the processor 301 in the user terminal 300 judges YES in ACT130 of FIG. 12 and proceeds to ACT132. As ACT132, the processor 301 displays a delete screen on the touch panel 304. The delete screen is a screen that notifies the customer that the product for which the quantity has been specified to be set to 0 will be deleted from the purchased products. The delete screen includes a delete button for specifying the deletion, and a back button for specifying returning to the state before the quantity change was specified without changing the quantity.
[0109] In ACT 133, the processor 301 checks whether or not deletion has been specified. If the processor 301 cannot confirm the specification, it judges NO and proceeds to ACT 134. In ACT 134, the processor 301 checks whether or not a return has been specified. If the processor 301 cannot confirm the specified return, it determines NO and returns to ACT 133. Thus, the processor 301 waits for a deletion or return to be specified as ACT133 and ACT134.
[0110] If the customer wishes to cancel the deletion and return to the state before the change in quantity was specified, the customer specifies "back" by a predetermined operation such as touching the back button on the deletion screen. In response to this, the processor 301 judges YES in ACT134, returns to ACT112 in Fig. 10, and causes the list screen SCA to be displayed again on the touch panel 304. In this case, since the registration state of the purchased product is not changed, the processor 301 causes the touch panel 304 to display again the list screen SCA in the same state as that displayed before the deletion screen was displayed.
[0111] If the customer is sure to delete the content, he or she designates the deletion by a predetermined operation such as touching the delete button on the delete screen. In response to this, the processor 301 judges YES in ACT133 and proceeds to ACT135. In ACT 135, the processor 301 requests the mobile controller 3 to delete the product. The request data transmitted by the processor 301 includes specification data for specifying the product designated for deletion.
[0112] If a deletion request is received from the user terminal 300 as described above, the processor 31 in the mobile controller 3 judges YES in ACT 207 in FIG. 14, and proceeds to ACT 218 in FIG. As ACT218, the processor 31 transfers a deletion request together with a notification of the transaction code of the transaction being processed to the virtual POS server 2. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data converted by some processing to the virtual POS server 2. However, if the specific data included in the request data is not a product code, the processor 31 replaces the specific data with the product code.
[0113] In the virtual POS server 2, the processor 21 regards the request based on the request data sent from the mobile controller 3 as a deletion instruction inputted by an input device provided in the existing POS terminal, and removes the target product from the purchased products by the same process as the existing POS terminal. The processor 21 transmits result data indicating the product codes of the products removed from the purchased products to the mobile controller 3.
[0114] After transferring the deletion request in ACT218, the processor 31 in the mobile controller 3 proceeds to ACT219. In ACT 219, the processor 31 acquires the result data transmitted from the virtual POS server 2 as described above. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.
[0115] In ACT220, the processor 31 updates the registration database DBCB based on the result data. That is, the processor 31 finds the registration data including the notified product code from the data record DRB associated with the transaction being processed. The processor 31 then changes the cancellation flag included in the corresponding registration data to "1."
[0116] The processor 31 may store the specific data sent in the deletion request data in the main memory 32 or the auxiliary storage unit 33, and upon receiving result data indicating that the deletion is complete, change the cancellation flag of the registered data related to the product specified by the stored specific data. In this case, the processor 21 in the virtual POS server 2 does not need to include the product code in the result data.
[0117] In ACT221, the processor 31 instructs the user terminal 300 to display a list screen. The processor 31 includes in the instruction data the product code, product name, price, and quantity contained in the registration data whose cancellation flag is "0" among the registration data contained in the data record DRB updated as described above. The processor 31 then returns to the standby state of ACT205 to ACT209 in FIG.
[0118] Now, after the processor 301 in the user terminal 300 requests a quantity change in ACT 131 in FIG. 12, or after requesting a deletion in ACT 135, the processor 301 proceeds to ACT 136. In ACT136, the processor 301 waits for an instruction to display the list screen. If an instruction to display the list screen is given from the mobile controller 3 in response to a request to change the quantity or a request to delete, the processor 301 judges the result as YES, returns to ACT112 in Fig. 10, and causes the touch panel 304 to display the list screen SCA again. At this time, the processor 301 sets the list screen SCA to a screen showing the product name, price, and quantity of the purchased product included in the instruction data. In this case, since the registration state of the purchased product is changed, the processor 301 causes the touch panel 304 to display the list screen SCA showing a purchased product different from the one displayed when the quantity change or deletion was specified.
[0119] If the customer wishes to cancel all registered purchased items and stop shopping, the customer designates cancellation by a predetermined operation such as touching the button BUAA on the list screen SCA. In response to this, the processor 301 judges YES in ACT117 in FIG. 10 and proceeds to ACT137 in FIG. As ACT137, the processor 301 displays a cancel screen on the touch panel 304. The cancel screen is a screen that notifies the customer that all of the purchased items that have already been registered will be canceled. The cancel screen includes an execute button for specifying execution of the cancel, and a back button for specifying returning to the state before the quantity change was specified without changing the quantity.
[0120] In ACT 138, the processor 301 checks whether or not cancel execution has been specified. If the processor 301 cannot confirm the specification, it determines NO and proceeds to ACT 139. In ACT 139, the processor 301 checks whether or not a return has been specified. If the processor 301 cannot confirm the specified return, it determines NO and returns to ACT 138. Thus, the processor 301 waits for a cancellation or return to be specified as ACT 138 and ACT 139.
[0121] If the customer wishes to continue shopping, the customer specifies "Back" by a predetermined operation such as touching a back button on the cancellation screen. In response to this, the processor 301 judges YES in ACT139, returns to ACT112 in Fig. 10, and causes the list screen SCA to be displayed again on the touch panel 304. In this case, since the registration status of the purchased item is not changed, the processor 301 causes the touch panel 304 to display again the list screen SCA in the same state as that displayed before the cancellation screen was displayed.
[0122] If the customer wishes to cancel the purchase, he or she specifies cancellation by a predetermined operation such as touching an execution button on the cancellation screen. In response to this, the processor 301 judges YES in ACT138 and proceeds to ACT140. As ACT 140, the processor 301 requests the mobile controller 3 to cancel.
[0123] If a cancellation request is received from the user terminal 300 as described above, the processor 31 in the mobile controller 3 judges YES in ACT 208 in FIG. 14, and proceeds to ACT 222 in FIG. As ACT222, the processor 31 transfers a request for cancellation together with a notification of the transaction code of the transaction being processed to the virtual POS server 2. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data converted by some processing to the virtual POS server 2.
[0124] In the virtual POS server 2, the processor 21 regards the request based on the request data sent from the mobile controller 3 as a cancellation instruction inputted by an input device provided in the existing POS terminal, and removes all registered products associated with the notified transaction code from the purchased products by processing similar to that of the existing POS terminal. The processor 21 transmits result data indicating that the cancellation has been completed to the mobile controller 3.
[0125] After transferring the deletion request in ACT222, the processor 31 in the mobile controller 3 proceeds to ACT223. The processor 31 as ACT 223 acquires the result data transmitted from the virtual POS server as described above. The processor 31 stores the acquired result data in the main memory 32 or the auxiliary storage unit 33.
[0126] In ACT224, the processor 31 updates the registration database DBCB based on the result data. That is, the processor 31 changes the cancellation flags, which are set to "0", to "1" for all the registration data included in the data record DRB associated with the transaction being processed. In ACT225, the processor 31 notifies the user terminal 300 of the cancellation. Then, the processor 31 thereafter returns to the standby state of ACT205 to ACT209 in FIG.
[0127] Now, after the processor 301 in the user terminal 300 requests cancellation in ACT140 in FIG. In ACT141, the processor 301 waits for a cancellation notification from the mobile controller 3. Then, the processor 301 determines YES if a cancellation notification is received as described above, and returns to ACT101 in FIG.
[0128] When the customer has finished registering all the products he or she wishes to purchase as purchased products, the customer proceeds to payment. At this time, the customer specifies the start of the transaction by a predetermined operation such as touching a button BUAC on the list screen SCA. In response to this, the processor 301 judges YES in ACT118 in FIG. 10 and proceeds to ACT142. In ACT 142, the processor 301 requests accounting from the mobile controller 3.
[0129] Incidentally, the processor 301 receives the operation by the customer as a valid operation in ACT115 to ACT118 as described above. In other words, the processor 301 receives the operation by the customer as an operator as a valid operation when the customer is present in the store, which is a predetermined area, and the movement of the customer is not detected. Thus, the processor 301 executes information processing based on the smartphone POS app APEA, and the computer with the processor 301 as the central part functions as an operating means.
[0130] If a payment request is received from the user terminal 300 as described above, the processor 31 in the mobile controller 3 judges YES in ACT 209 in FIG. 14, and proceeds to ACT 226 in FIG. As ACT226, the processor 31 instructs the user terminal 300 to display a checkout screen.
[0131] After the processor 301 in the user terminal 300 requests payment in ACT 142 in FIG. In ACT 143, the processor 301 waits for an instruction to display the accounting screen. If the processor 301 confirms that an instruction to display the accounting screen has been issued as described above, it determines YES and proceeds to ACT 144 in FIG. As ACT 144, the processor 301 displays an accounting screen on the touch panel 304. The accounting screen is a screen that allows the customer to select whether to use the user terminal 300 or the accounting machine 5 to perform the operation for payment.
[0132] FIG. 22 is a diagram showing an example of the checkout screen SCD. The payment screen SCD includes a display area ARDA, a message MEDA, and buttons BUDA and BUDB. The display area ARDA shows the total number of purchased items and the total price of the purchased items. The message MEDA is a text message that prompts the customer to specify whether the operation for settling the price will be performed on the user terminal 300 or the payment machine 5. The button BUDA is a soft key that allows the customer to specify the user terminal 300. The button BUDB is a soft key that allows the customer to specify the payment machine 5.
[0133] When the customer wishes to perform the operation for payment on user terminal 300, the customer designates user terminal 300 by a predetermined operation such as touching button BUDA. When the customer wishes to perform the operation for payment on payment machine 5, the customer designates payment machine 5 by a predetermined operation such as touching button BUDB.
[0134] 13, the processor 301 checks whether or not the user terminal 300 has been designated. If the processor 301 cannot confirm that the user terminal 300 has been designated, the processor 301 judges the result as NO and proceeds to ACT146. In ACT146, the processor 301 checks whether or not the payment machine 5 has been designated. If the processor 301 cannot confirm that the payment machine 5 has been designated, it determines that the answer is NO and returns to ACT145. Thus, in ACT145 and ACT146, the processor 301 waits for the user terminal 300 or the payment machine 5 to be designated. If the user terminal 300 is designated as described above, the processor 301 judges YES in ACT145 and proceeds to ACT147.
[0135] In ACT 147, the processor 301 requests payment from the mobile controller 3. The processor 301 includes payment data, such as a credit number or a user code for an online payment service, necessary for payment in the request data for requesting payment.
[0136] Furthermore, if the payment machine 5 is specified as described above, the processor 301 judges YES in ACT146 and proceeds to ACT148. As ACT148, the processor 301 displays a transaction barcode screen on the touch panel 304. The transaction barcode screen is a screen that displays a transaction barcode that represents data required for the transaction machine 5 to obtain data related to the details of the transaction from the virtual POS server 2. Although detailed processing is not shown in the figure, the processor 301 obtains the transaction barcode from the virtual POS server 2 via the mobile controller 3 and displays the transaction barcode on the transaction barcode screen.
[0137] The customer has the scanner of a payment machine 5 that is not being used by another customer read the payment barcode. In response, the payment machine 5 obtains data on the details of the transaction from the virtual POS server 2 according to the data represented by the payment barcode, and executes processing to settle the payment amount calculated based on this data. When the payment is complete, the payment machine 5 notifies the virtual POS server 2 to that effect. When the processor 21 in the virtual POS server 2 is notified of the completion of payment by the payment machine 5, it notifies the mobile controller 3 of the completion of payment. Note that the completion of payment at the payment machine 5 may also be notified directly from the payment machine 5 to the mobile controller 3.
[0138] After instructing the display of the accounting screen in ACT226 in FIG. 17, the processor 31 in the mobile controller 3 proceeds to ACT227. In ACT227, the processor 31 checks whether or not a payment has been requested. If the request cannot be confirmed, the processor 31 judges the result as NO and proceeds to ACT228. In ACT228, the processor 31 checks whether or not the completion of the settlement has been notified. If the notification has not been confirmed, the processor 31 judges the result as NO and returns to ACT227. Thus, the processor 31 waits for a payment request or a payment completion notification in ACT227 and ACT228. Then, if a payment is requested from the user terminal 300 as described above, the processor 31 judges YES in ACT227 and proceeds to ACT229.
[0139] As ACT229, the processor 31 transfers a payment request together with a notification of the transaction code of the transaction being processed to the virtual POS server 2. At this time, the processor 31 may transfer the request data sent from the user terminal 300 to the virtual POS server 2 as is, or may transmit the request data after being converted by some processing to the virtual POS server 2.
[0140] In the virtual POS server 2, the processor 21 regards the request by the request data sent from the mobile controller 3 as a payment instruction input by an input device provided in the existing POS terminal, calculates the amount of the transaction identified by the notified transaction code by the same process as the existing POS terminal, and performs processing to settle the amount based on the payment data. The processing for settlement includes, for example, a payment request to a settlement server (not shown). The processor 21 then transmits result data indicating that the settlement has been completed to the mobile controller 3.
[0141] After the processor 31 in the mobile controller 3 transfers the payment request in ACT229, the processor 31 proceeds to ACT230. In ACT230, the processor 31 waits for a notification of the completion of the payment from the virtual POS server 2. Then, if the result data indicating that the payment has been completed and sent by the virtual POS server 2 as described above is received by the communication interface 34, the processor 31 judges the result as YES and proceeds to ACT231. Also, if the processor 31 is notified of the completion of the payment at the accounting machine 5 as described above, the processor 31 judges the result as YES in ACT228 and proceeds to ACT231. As ACT231, the processor 31 notifies the user terminal 300 of the completion of the payment.
[0142] After the processor 301 in the user terminal 300 requests payment from the mobile controller 3 in ACT 147 in FIG. 13, or after displaying the accounting barcode screen in ACT 148, the processor 301 proceeds to ACT 149. In ACT 149, the processor 301 waits for notification of the completion of the payment. If the processor 301 receives a notification of the completion of the payment from the mobile controller 3 as described above, the processor 301 determines that the result is YES and proceeds to ACT 150. As ACT 150, the processor 301 displays a completion screen on the touch panel 304. The completion screen is a screen for notifying the customer that the payment has been completed.
[0143] When the customer confirms the completion screen, the customer declares that he / she has confirmed the completion by a predetermined operation such as touching a button displayed on the completion screen. In response to this, the processor 301 proceeds to ACT 151. The processor 301 may also proceed to ACT 151 when the elapsed time while the completion screen is displayed reaches a predetermined time.
[0144] As ACT151, the processor 301 displays a scan screen for checkout on the touch panel 304. The scan screen for checkout is a screen for reading the two-dimensional code TCO for checkout. The processor 301, for example, starts the camera 305, and generates a scan screen by superimposing a text message urging the customer to read the two-dimensional code TCO and a line indicating the position where the two-dimensional code TCO should be held over the image obtained by the camera 305.
[0145] When the checkout scan screen appears on the touch panel 304, the customer points the camera 305 at the two-dimensional code TCO posted near the store exit so that the two-dimensional code TCO appears on the scan screen.
[0146] In ACT152, the processor 301 waits for the two-dimensional code to be read. At this time, the processor 301 repeatedly analyzes the image obtained by the camera 305 and attempts to read the two-dimensional code. This reading of the two-dimensional code may be performed as a process based on the smartphone POS app APEA, or may be performed as a process based on another application program for reading the two-dimensional code. Then, if the two-dimensional code is read, the processor 301 judges YES and proceeds to ACT153.
[0147] In ACT 153, the processor 301 checks whether the data represented by the read two-dimensional code is check-out data. If the data is not check-out data, the processor 301 judges the result as NO and returns to ACT 152. At this time, the processor 301 may display on the touch panel 304 a screen notifying the customer that an incorrect two-dimensional code has been read.
[0148] If the processor 301 confirms that the data represented by the read two-dimensional code is check-out data, it determines YES in ACT153 and proceeds to ACT154. In ACT 154 , the processor 301 requests the mobile controller 3 to check out.
[0149] After notifying the completion of the payment in ACT231 in FIG. 17, the processor 31 in the mobile controller 3 proceeds to ACT232. In ACT232, the processor 31 waits for a check-out request. If a check-out request is received from the user terminal 300 as described above, the processor 31 determines YES and proceeds to ACT233.
[0150] As ACT233, the processor 31 executes a checkout process. The checkout process is a process for clearing data stored in the main memory 32 and the auxiliary storage unit 33 for managing the transaction that was the subject of the process. The virtual POS server 2 may end the process related to the transaction in response to the completion of the settlement, or may end the process related to the transaction in response to an instruction from the mobile controller 3. In the latter case, the processor 31 issues the above instruction to the virtual POS server 2 in the checkout process. In addition, a history database showing the history of user operations including erroneous barcode scanning may be managed by the store server 1, the virtual POS server 2, the mobile controller 3, or another server not shown. In this case, the processor 31 performs a process for updating the history database in the checkout process so as to reflect the history of operations related to the current transaction. In ACT 234, the processor 31 notifies the user terminal 300 of the completion of check-out. Then, the processor 31 ends the information processing shown in Figs.
[0151] After the processor 301 in the user terminal 300 requests check-out in ACT154 in FIG. In ACT 155, the processor 301 waits for a notification of check-out completion. If the processor 301 receives a notification of check-out completion from the mobile controller 3 as described above, the processor 301 determines YES and proceeds to ACT 156. In ACT156, the processor 301 clears various data temporarily used for this shopping, such as the check-in data saved in ACT107 in Fig. 9. Then, the processor 301 returns to ACT101 in Fig. 9.
[0152] As described above, the user terminal 300 of this embodiment determines the product code that the customer is attempting to have the user terminal 300 read while the customer is in the store and not moving as a valid product code for registration. Therefore, the customer is required to perform the operation while standing still in the store when inputting the product code, which prevents the customer from being distracted by the operation while moving around. Note that the operation to have the user terminal 300 read the product code is frequently performed by the customer while looking around the store. Therefore, by restricting this operation, the above-mentioned effect can be efficiently achieved.
[0153] Furthermore, the user terminal 300 does not accept operations for specifying scan start, quantity, stop, checkout start, and scan stop when the customer is in the store and not moving. Therefore, the customer performs these operations while standing still, and it is possible to prevent the customer from being distracted by operations while moving.
[0154] Furthermore, when the user terminal 300 is present in the store but does not accept the operation as a valid operation because the operation is performed by a moving customer, the user terminal 300 executes a warning operation, thereby making the customer aware that he or she should stop and operate the device.
[0155] This embodiment can be modified in various ways as follows. In the above embodiment, an example is shown in which the user terminal 300 reads the product code of a product purchased by a customer among products displayed and sold in a store. That is, the user terminal 300, the product code, the store, and the purchased product in the above embodiment correspond to the information processing device, the identifier, the predetermined area, and the transaction object. However, for example, in a shopping mall, when an order for a food and drink menu to be eaten at a restaurant that a customer is about to visit is received in response to an operation on a cart terminal attached to a shopping cart, which is a facility of the shopping mall, it is possible to restrict operations similar to those in the above embodiment. In this example, the cart terminal, the identification code of the food and drink menu, the shopping mall, and the food and drink menu correspond to the information processing device, the identifier, the predetermined area, and the transaction object. In this way, the information processing device, the identifier, the predetermined area, and the transaction object can be changed as appropriate.
[0156] If the information processing device is a shopping cart that is a facility of a shopping mall, it is possible to detect the presence state in a predetermined area if the information processing device is capable of communicating with an access point provided in the shopping mall, or if the information processing device is capable of receiving a beacon signal transmitted from a beacon transmitter provided in the shopping mall, etc. In this way, the method of detecting the presence state can be changed in various ways.
[0157] If the information processing device is a cart terminal, it is also possible to measure the customer's movement speed as the movement speed of the shopping cart and detect the customer's movement based on that movement speed. In this way, the method for detecting the customer's movement can be modified in various ways.
[0158] The user terminal 300 may be operated mainly as a user interface, and the processing in ACT114, ACT119 in FIG. 10 and ACT123, ACT126 in FIG. 11, and the control processing for alarm operation in ACT120 in FIG. 10 and ACT127 in FIG. 11 may be executed by another information processing device, such as a mobile controller 3.
[0159] The processor 301 may perform the same processing as ACT114, ACT119, and ACT120 in Fig. 10 in the standby state of ACT102 and ACT103 in Fig. 9, the standby state of ACT105, the standby state of ACT133 and ACT134 in Fig. 12, the standby state of ACT138 and ACT139, or the standby state of ACT145 and ACT146 in Fig. 13. The processor 301 may perform the same processing as ACT114, ACT119, and ACT120 in Fig. 10 in the standby state of an operation not shown in the information processing of Figs. 9 to 13. The processor 301 may omit ACT113, ACT114, ACT119, and ACT120 in Fig. 10.
[0160] Each function realized by the processors 11, 21, 31, 41, and 301 through information processing can be realized in part or in whole by hardware that executes information processing not based on a program, such as a logic circuit, etc. Also, each of the above functions can be realized by combining the above hardware, such as the logic circuit, with software control.
[0161] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0162] 1...store server, 2...virtual POS server, 3...mobile controller, 4...communication server, 5...accounting machine, 6...access point, 7...in-store communication network, 11, 21, 31, 41, 301...processor, 12, 22, 32, 42, 302...main memory, 13, 23, 33, 43, 303...auxiliary storage unit, 14, 24, 34, 44...communication interface, 15, 25, 35, 46, 310...transmission path, 45...communication unit, 100(100-1, 100-2)...store system, 200...middle relay server, 300...user terminal, 304...touch panel, 305...camera, 306...sound unit, 307...sensor group, 308...wireless communication unit, 309...mobile communication unit, 400...communication network, APAA...store management application, APBA...virtual POS application, APEA...smartphone POS application, APCA...registration support application, APDA...communication processing application, DBAA...database group, DBBA...transaction database, DBCA...transaction management database, DBCB...registration database.
Claims
1. An acquisition means for acquiring an identifier in response to an operation by an operator; a first detection means for detecting a presence state of the operator within a predetermined area; A second detection means for detecting a movement of the operator; a determination means for determining, when the presence state is detected by the first detection means and the movement is not detected by the second detection means, the identifier acquired by the acquisition means as an identifier of the object of transaction; An information processing device comprising:
2. an alarm means for performing a predetermined alarm operation in response to acquisition of the identifier by the acquisition means when the presence state is detected by the first detection means and the movement is detected by the second detection means; The information processing device according to claim 1 , further comprising:
3. an operation means for receiving an operation by the operator as a valid operation when the presence state is detected by the first detection means and the movement is not detected by the second detection means; The information processing apparatus according to claim 1 , further comprising:
4. an alarm means for performing a predetermined alarm operation in response to the operation received by the operating means when the presence state is detected by the first detection means and the movement is detected by the second detection means; The information processing device according to claim 3 , further comprising:
5. The warning means outputs a predetermined sound as the warning action.
5. The information processing device according to claim 2 or 4.
6. A computer provided in the information processing device, An acquisition means for acquiring an identifier in response to an operation by an operator; a first detection means for detecting a presence state of the operator within a predetermined area; A second detection means for detecting a movement of the operator; a determination means for determining, when the presence state is detected by the first detection means and the movement is not detected by the second detection means, the identifier acquired by the acquisition means as an identifier of the object of transaction; An information processing program that enables the system to function as such.
Citation Information
Patent Citations
Mobile phone terminal device
JP2008053988A
Shopping-support program, shopping cart, and shopping-support method
JP2008059334A
Mobile truck
JP2010105644A
Self-payment method using a portable device
JP2013541107A
Terminal alarm device
JP2015088860A