Programs, information processing methods, terminals

The terminal and server system addresses the challenge of displaying amount information from multiple stores, enabling efficient price comparison and informed purchasing decisions.

JP7836275B2Active Publication Date: 2026-03-26LY CORP
View PDF 14 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-06
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing technologies do not effectively facilitate the display of amount information from multiple stores on a single terminal, limiting user comparison and decision-making during electronic commerce.

Method used

A terminal and server system that receives and displays amount information from multiple stores, allowing users to compare prices and make informed decisions.

Benefits of technology

Enables users to efficiently compare prices across different stores, enhancing decision-making during electronic commerce transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007836275000001
    Figure 0007836275000001
  • Figure 0007836275000002
    Figure 0007836275000002
  • Figure 0007836275000003
    Figure 0007836275000003
Patent Text Reader

Abstract

To improve convenience in purchasing products and services in stores. [Solution] A program executed by a terminal communicating with a server receives first price information including price information for products at a first store or price information for services at a first store, and second price information including price information for products at a second store or price information for services at a second store, based on information regarding the prices of products or services purchased at the store received by the server from multiple terminals, via the terminal's communication unit, and displays the first price information on the terminal's display unit in association with the first store, and displays the second price information on the terminal's display unit in association with the second store.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to programs, information processing methods, terminals, servers, etc.

Background Art

[0002] A user may purchase products or services at a store. For example, Patent Document 1 discloses a technology related to electronic commerce.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

[0004] According to a first aspect of the present invention, a program executed by a terminal communicating with a server receives, from the server by a communication unit of the terminal, first amount information including amount information of products of a first store or amount information of services of the first store, and second amount information including amount information of products of a second store or amount information of services of the second store, based on information regarding amounts of products or services purchased at stores and received by the server from a plurality of terminals, and the terminal displays the first amount information associated with the first store on a display unit of the terminal and displays the second amount information associated with the second store on the display unit. According to a second aspect of the present invention, an information processing method of a terminal communicating with a server includes receiving, from the server by a communication unit of the terminal, first amount information including amount information of products of a first store or amount information of services of the first store, and second amount information including amount information of products of a second store or amount information of services of the second store, based on information regarding amounts of products or services purchased at stores and received by the server from a plurality of terminals, and displaying the first amount information associated with the first store on a display unit of the terminal and displaying the second amount information associated with the second store on the display unit. According to a third aspect of the present invention, a terminal communicating with a server includes a communication unit that receives from the server first amount information, which includes amount information for goods or services purchased at a first store, and second amount information, which includes amount information for goods or services purchased at a second store, based on information about the amount of goods or services purchased at a store that has been received by the server from multiple terminals; and a display unit that displays the first amount information in association with the first store and displays the second amount information in association with the second store. According to a fourth aspect of the present invention, a terminal communicating with a server includes a processor that reads a program stored in memory and performs processing based on the program, and the processor receives from the server via the terminal's communication unit first amount information including amount information for goods or services from a first store and amount information for goods or services from a second store, based on information about the amount of goods or services purchased at a store, which has been received by the server from multiple terminals, and displays the first amount information on the terminal's display unit in association with the first store and displays the second amount information on the display unit in association with the second store. According to a fifth aspect of the present invention, a server communicating with multiple terminals includes a communication unit that receives information from the multiple terminals regarding the amount of goods or services purchased at a store, a storage unit that stores information transmitted from the multiple terminals regarding the amount of goods or services purchased at a store, and a control unit that controls the communication unit to transmit to the terminals first amount information, which includes price information for goods or services at a first store, and second amount information, which includes price information for goods or services at a second store, based on the information regarding the amount of goods or services purchased at a store. The first amount information is displayed on the terminal's display unit in association with the first store, and the second amount information is displayed on the display unit in association with the second store. According to a sixth aspect of the present invention, a server program that communicates with multiple terminals performs the following actions: receiving information regarding the amount of goods or services purchased at a store from the multiple terminals via the server's communication unit; storing the information regarding the amount of goods or services purchased at a store transmitted from the multiple terminals in the server's storage unit; receiving information about multiple goods or multiple services from the terminals via the communication unit; and transmitting information about the stores where multiple goods or multiple services are purchased to the terminals via the communication unit, based on the information regarding the amount of goods or services purchased at the stores. [Brief explanation of the drawing]

[0005] [Figure 1-1] A diagram showing an example of the system configuration of a communication system according to the embodiment. [Figure 1-2] A diagram showing an example of a function realized by the control unit of the server according to the first embodiment. [Figure 1-3] A diagram showing an example of information stored in the storage unit of the server according to the first embodiment. [Figure 1-4] A diagram showing an example of account registration data related to the first embodiment. [Figure 1-5] A diagram showing an example of store registration data related to the first embodiment. [Figure 1-6] A diagram showing an example of a product price management database according to the first embodiment. [Figure 1-7] A diagram showing an example of a receipt information management database according to the first embodiment. [Figure 1-8] A diagram showing an example of a function realized by the control unit of the terminal according to the first embodiment. [Figure 1-9] A diagram showing an example of information stored in the memory unit of the terminal according to the first embodiment. [Figure 1-10] A diagram showing an example of a screen displayed on the display unit of a terminal according to the first embodiment. [Figure 1-11] A flowchart showing an example of the processing flow performed by each device according to the first embodiment. [Figure 1-12]Explanatory diagram regarding the aggregation of receipt information according to the first embodiment. [Figure 1-13] Flowchart showing an example of the processing flow executed by each device according to the first embodiment. [Figure 2-1] Diagram showing an example of a screen displayed on the display unit of a terminal according to the second embodiment. [Figure 2-2] Flowchart showing an example of the processing flow executed by each device according to the second embodiment. [Figure 2-3] Diagram showing an example of a screen displayed on the display unit of a terminal according to the second modification example. [Figure 2-4] Diagram showing an example of a screen displayed on the display unit of a terminal according to the second modification example. [Figure 3-1] Diagram showing an example of information stored in the storage unit of a server according to the third embodiment. [Figure 3-2] Diagram showing an example of a product price management database according to the third embodiment. [Figure 3-3] Diagram showing an example of an account management database according to the third embodiment. [Figure 3-4] Diagram showing an example of a screen displayed on the display unit of a terminal according to the third embodiment. [Figure 3-5] Diagram showing an example of a screen displayed on the display unit of a terminal according to the third embodiment. [Figure 3-6] Diagram showing an example of a screen displayed on the display unit of a terminal according to the third embodiment. [Figure 3-7] Diagram showing an example of a screen displayed on the display unit of a terminal according to the third embodiment. [Figure 3-8] Flowchart showing an example of the processing flow executed by each device according to the third embodiment. [Figure 3-9] Diagram showing an example of a screen displayed on the display unit of a terminal according to the third modification example. [Figure 3-10] Flowchart showing an example of the processing flow executed by each device according to the third modification example. [Figure 3-11] Flowchart showing an example of the processing flow executed by each device according to the third modification example. [Figure 4-1] Diagram showing an example of a screen displayed on the display unit of a terminal according to the fourth embodiment. [Figure 4-2] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fourth embodiment. [Figure 4-3] A flowchart showing an example of the processing flow executed by each device according to the fourth embodiment. [Figure 4-4] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fourth modification. [Figure 4-5] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fourth embodiment. [Figure 4-6] A flowchart showing an example of the processing flow executed by each device according to the fourth embodiment. [Figure 4-7] A diagram showing an example of a product price management database according to the fourth modification. [Figure 4-8] A diagram showing an example of an account management database according to the fourth modification. [Figure 4-9] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fourth modification. [Figure 4-10] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fourth modification. [Figure 5-1] A diagram showing an example of a screen displayed on the display unit of the terminal according to the fifth embodiment.

Modes for Carrying Out the Invention

[0006] <Compliance with Legal Matters> It should be noted that the disclosure described in this specification is based on compliance with the legal matters of the country of implementation required for the implementation of the present disclosure, such as communication secrecy.

[0007] <Embodiments> In this specification, there are places where it is described as "by way of example and not limitation" for ease of understanding, but it should be noted that not only the relevant places but also the entire content of the embodiments described below are not limited to the described content.

[0008] Embodiments for implementing the program and the like according to the present disclosure will be described with reference to the drawings.

[0009] A system, not limited to but as an example, can be defined as a system comprising multiple devices. Multiple devices may be a combination of devices of the same type, a combination of devices of different types, or a combination of devices of the same type and devices of different types. Furthermore, the term "system" can also be thought of, not as a limited definition, but as an example, as a system in which multiple devices work together to perform some kind of processing.

[0010] Furthermore, a system involving a client (client device) and a server can be considered, not as an exhaustive list, but as an example, as at least one of the following: (1) Terminals & Servers (2) Server (3) terminal

[0011] (1) is, as an example and not an limitation, a system comprising at least one terminal and at least one server. This example is a client-server system.

[0012] The server may consist of the following devices, not as an example but as an extension of the following: it may be a single device or a combination of multiple devices.

[0013] Specifically, a server may consist of, but is not limited to, at least one processor (for example, a CPU: Central Processing Unit, a GPU: Graphics Processing Unit, an APU: Accelerated Processing Unit, a DSP: Digital Signal Processor (for example, an ASIC: Application Specific Integrated Circuit, an FPGA: Field Programmable Gate Array), etc.), a computer device (processor + memory), a control device, an arithmetic unit, a processing unit, etc., and may be configured with multiple identical units of any one device (for example, a CPU + CPU, a homogeneous multicore processor, etc.), or with multiple heterogeneous units of any one device (for example, a CPU + DSP, a heterogeneous multicore processor, etc.), or with a combination of multiple devices (for example, a processor + computer device, a processor + arithmetic unit, a heterogeneous configuration of multiple devices, etc.). Note that the processor may be a virtual processor.

[0014] Furthermore, when a server performs some processing, if it is configured as a single device, the processing described in the embodiment will be performed by that single device. If it is configured as having multiple devices, some processing may be performed by one device and other processing may be performed by the other devices. As an example, and not an limitation, if it is configured as having a processor and an arithmetic unit, the first processing may be performed by the processor and the second processing may be performed by the arithmetic unit. Furthermore, if the system consists of multiple devices, each device may be arranged in a location that is physically separated from the others.

[0015] Furthermore, the server's functionality is not limited; for example, it may be provided in the form of PaaS, IaaS, or SaaS in cloud computing.

[0016] Furthermore, the system's control unit can be at least one of either the terminal's control unit or the server's control unit. In other words, the system's control unit can be any of the following, not limited to: (1A) only the terminal's control unit, (1B) only the server's control unit, or (1C) both the terminal's control unit and the server's control unit.

[0017] Furthermore, the control and processing performed by the system's control unit (hereinafter collectively referred to as "control, etc.") may be (1A) performed solely by the terminal's control unit, (1B) performed solely by the server's control unit, or (1C) performed by both the terminal's control unit and the server's control unit. Furthermore, (1C) is not an limitation but an example in which some of the controls that the system would normally perform are performed by the control unit of the terminal, and the remaining controls are performed by the control unit of the server. In this case, the allocation of controls may be equal, or they may be allocated in different proportions.

[0018] Furthermore, when referring to the server's communication unit, if the server is composed of a single device, it may refer to the communication unit itself provided by that single device. Also, if the server is composed of multiple devices, the server's communication unit may include the communication units provided by each of those devices. As an example, and not an limitation, if a server comprises a first device and a second device, with the first device having a first communication unit and the second device having a second communication unit, then the communication unit of the server may be considered a concept that includes both the first and second communication units.

[0019] (2) may, as an example and not an limitation, be a system consisting of multiple servers (hereinafter referred to as the "server system"). In this case, the configuration described above can be applied similarly to the configuration of each server.

[0020] The control and other functions performed by the server system may be performed by (2A) only one server, (2B) only the other servers, or (2C) one server and the other servers. Furthermore, (2C) is not limited to but is an example in which one server may perform some of the controls that the server system performs, and the remaining controls may be performed by other servers. In this case, the allocation of controls may be divided equally, or it may be allocated in different proportions.

[0021] (3) can be a system consisting of multiple terminals, not an exhaustive example. This system can be, as an example and not limited to, the following: A system that assigns server functionality to terminals (a distributed system). This is not limited to this example, but can be achieved using blockchain technology. A system in which terminals communicate wirelessly with each other. This is not limited to this system, but can be achieved by using short-range wireless communication technologies such as Bluetooth (registered trademark) to communicate in a P2P (peer-to-peer) manner.

[0022] Furthermore, the above applies not only to the control unit but also to other functional units that can be components of the system, such as the input / output unit, communication unit, memory unit, and clock unit.

[0023] In the following embodiments, a system including terminals and servers (a client-server system, for example, is provided as an example, but is not an limitation) is illustrated. Furthermore, it is also possible to apply the server system described in (2) above as the server.

[0024] Furthermore, instead of a system that includes terminals and servers, it is also possible to apply a system that does not include a server, such as the system described in (3) above, not as a limitation but as an example. In this case, the embodiment can be constructed based on the aforementioned blockchain technology. Specifically, and not limited to, but as an example, data stored and managed on the server described in the following embodiment is stored on the blockchain. Then, when a terminal generates a transaction to the blockchain and the transaction is approved on the blockchain, the data stored on the blockchain is updated.

[0025] Furthermore, even when the term "terminal" is used, it is not limited to the meaning of a terminal as a client device in a client-server system. In other words, the term "terminal" can sometimes include the concept of a device that is not part of a client-server relationship.

[0026] Furthermore, the expression "by communication I / F" is used as appropriate in this specification. This is not an limitation, but rather an example that the device may send and receive various information and data via a communication I / F (via a communication unit) based on the control of a control unit (processor, etc.).

[0027] Furthermore, in this specification, when terms such as "concerning" or "related" are used, "B concerning A" or "B related to A" may be used not as an limitation, but as an example, to mean "B" that has some kind of relationship with "A". Specific examples will be given later.

[0028] Furthermore, in this specification, when a device processes two or more things, such as "transmitting A and B" or "receiving A and B," it may include both cases where "A" and "B" are performed at the same time (hereinafter referred to as "simultaneous") and cases where "A" and "B" are performed at different times (hereinafter referred to as "non-simultaneous"). As an example, rather than being limited, when we say that we are transmitting the first piece of information and the second piece of information, we may include both concepts: transmitting the first piece of information and the second piece of information at the same time, and transmitting the first piece of information and the second piece of information at different times. Furthermore, taking into consideration lag (time lag), "simultaneous" may include "almost simultaneous."

[0029] Furthermore, even if "A" and "B" are performed at different times, this only requires that the processing targets "A" and "B," and their purposes do not necessarily have to be the same. As an example, rather than being limited, when transmitting the first and second pieces of information as described above, it is sufficient to simply transmit the first and second pieces of information, and this may include cases where the first and second pieces of information are transmitted for different purposes, as well as cases where they are transmitted for the same purpose.

[0030] In the following examples, a messaging service is used as an example of a service for users to chat (hereinafter referred to as the "chat service"). Furthermore, an application for implementing the chat service is referred to as a "chat application," and an application for implementing the messaging service is referred to as a "messaging application." In a chat application, users can, for example, be allowed to chat in chat rooms. Also, in a chat application, users can, for example, be allowed to make calls (voice calls, video calls, etc.) to each other.

[0031] Furthermore, messaging services (MS) (including instant messaging services: IMS) can be considered a form of social networking services (SNS). Therefore, a distinction may or may not be made between messaging services and social networking services. In other words, messaging services may be included within the definition of social networking services.

[0032] Furthermore, in the following embodiment, as an example of a messaging service, we illustrate an Instant Messaging Service (IMS) that sends and receives content in the form of simple messages between multiple devices (not limited to, but for example, terminals) via a server. Instant messaging applications can, as an example, allow users to chat in chat rooms. They can also, as an example, allow users to make calls (voice calls, video calls, etc.) to each other.

[0033] A chat room (or, for example, a talk room) can be a UI (User Interface) or GUI (Graphical User Interface) that allows content sent and received between multiple users' devices to be viewed by each user.

[0034] Furthermore, the chat rooms may include one-on-one chat rooms (hereinafter referred to as "one-on-one chat rooms"), group chat rooms containing multiple users (hereinafter referred to as "group chat rooms"), and chat rooms with users of official accounts (hereinafter referred to as "official chat rooms").

[0035] For data management purposes, a one-on-one chat room may be managed as a chat room for one user or one account, or it may be managed as a chat room for a group consisting of two users or two accounts.

[0036] Official accounts are not accounts of ordinary users but accounts of businesses (accounts of business users), and users of these official accounts can, for example, use devices similar to those of ordinary users, not just limited to, to send and receive content (messages) with other devices via the server.

[0037] Content may be information sent from a sender to a recipient. Content may also consist of one or more items.

[0038] Content may include, but is not limited to, text content in text format, image content in image format (including at least one of both still images and moving images), and sound content in sound format (including voice). In addition, other elements such as buttons and icons for user interaction, as well as link information (not limited to these, but including, for example, URIs (Uniform Resource Identifiers)) and other link content may also be included.

[0039] The text may, but not be limited, include at least one of the following: national characters represented by character codes, extended characters, machine-dependent characters, numbers, symbols, figures, and codes. Note that the text does not have to contain at least one of the above characters, extended characters, machine-dependent characters, numbers, symbols, figures, and codes, but may also contain other text.

[0040] Images can include, but are not limited to, at least one of the following types of image information: icons, buttons, stamps, emojis, banner images, etc.

[0041] Furthermore, in the following embodiment, a shopping assistance service is provided as an example of a service that enables the user of terminal 20 to search for and check product prices, and assists the user of terminal 20 in their shopping. The application for realizing the shopping assistance service is referred to as the "shopping assistance application."

[0042] The following are examples of possible forms for implementing a shopping assistance service (shopping assistance application), but they are not limited to any specific form. (A) A standalone configuration of a shopping assistance application. (B) A form in which a shopping assistance service function is provided as a feature of the messaging application. (C) Forms of an application (integrated application) that have the functions of a shopping assistance service and a messaging service. (D) Configuration of the messaging application as a separate application from the shopping assistance application.

[0043] In forms (B) and (C), the shopping assistance service provider can be the same type of provider as the messaging service provider, not as an exclusive example, but as an example. In this case, one possible approach is to use a common account for both the user account in the messaging application and the user account in the shopping assistance application. Alternatively, in this case, the user's account in the messaging application and the user's account in the shopping assistance application can be automatically associated (linked).

[0044] In form (D), the shopping assistance service provider may be a different business from the messaging service provider, not as an example but as an exception. Furthermore, in form (D), it is possible to perform a process (a linking process) that associates the user account in the messaging application with the user account in the shopping assistance application.

[0045] In addition, unlike the above, it is also possible to incorporate messaging service functionality as a feature of the shopping assistance application.

[0046] In the following, the shopping assistance application will be referred to as "Shopping Assistant App" in illustrations and explanations.

[0047] Furthermore, although the following examples describe products sold in stores, the same principles can be applied to services provided in stores. In other words, "products" in the following examples may be read as "services." Furthermore, it is possible to apply the policy not only to products or services alone, but also to a combination of products and services.

[0048] <First Example> The first embodiment is an embodiment in which the server 10 aggregates information on product prices, etc., based on information on the price of goods (or services) transmitted from the user's terminal 20 (not limited to, but as an example, information on the price of goods (or services) purchased at a store).

[0049] The contents described in the first embodiment are applicable to any of the other embodiments and any of the other modifications. Furthermore, components identical to those previously mentioned are given the same symbols, and their explanation is omitted.

[0050] Information regarding the price of goods (or services) may be transmitted from terminal 20 to server 10 in any way, but in the embodiments described below, the primary example is, without limitation, the case in which a user transmits information regarding the price from their terminal 20 to server 10 using a receipt received when purchasing goods at a store. As will be explained in more detail later, it is also possible to have users manually enter information about the price of the goods (or services) without using receipts.

[0051] <System Configuration> Figure 1-1 shows an example of the system configuration of the communication system 1 in an embodiment of the present disclosure. In communication system 1, as an example and not limited to, a server 10 is connected to multiple terminals 20 (terminal 20A, terminal 20B, terminal 20C, ...) via network 30.

[0052] Server 10 has the function of providing predetermined services (not limited to these, but examples include shopping assistance services, messaging services, etc.) to terminals 20 owned by users via the network 30. In this embodiment, shopping assistance service providers (operators) and messaging service providers (operators) can be users of server 10.

[0053] Furthermore, there is no limit to the number of servers 10 or terminals 20 connected to network 30.

[0054] Terminal 20 (Terminal 20A, Terminal 20B, Terminal 20C, ...) can be any information processing terminal capable of realizing the functions described in each embodiment. Terminal 20 includes, but is not limited to, smartphones, mobile phones (feature phones), computers (but is not limited to, for example, desktops, laptops, tablets, etc.), media computer platforms (but is not limited to, for example, cable, satellite set-top boxes, digital video recorders), handheld computer devices (but is not limited to, for example, PDAs (personal digital assistants), email clients, etc.), wearable devices (glasses-type devices, watch-type devices, etc.), VR (Virtual Reality) terminals, smart speakers (voice recognition devices), or other types of computers or communication platforms. Terminal 20 may also be referred to as an information processing terminal.

[0055] The configurations of terminals 20A, 20B, and 20C can be identical, not as an example but as an extension. Furthermore, if necessary, the terminal used by user X may be referred to as terminal 20X, and user information in a predetermined service associated with user X or terminal 20X may be referred to as user information X, or not. User information refers to information about a user associated with an account used by that user in a given service. User information includes, but is not limited to, information associated with a user, such as the user's name, user icon image, user's age, user's gender, user's address, user's hobbies and preferences, and user identifier, which may be entered by the user or assigned by the given service. It may include any one of these items, a combination thereof, or not.

[0056] Network 30 plays the role of connecting one or more terminals 20 and one or more servers 10. In other words, network 30 refers to a communication network that provides a connection path so that the various devices described above can send and receive data after they are connected.

[0057] One or more parts of network 30 may or may not be wired or wireless networks. Network 30 may include, but is not limited to, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), part of the internet, part of a public switched telephone network (PSTN), a mobile phone network, integrated service digital networks (ISDN), wireless LAN, LTE (long term evolution), CDMA (code division multiple access), Bluetooth (registered trademark), satellite communications, or two or more combinations thereof. Network 30 may include one or more networks 30.

[0058] Server 10 (not limited to, but an example of a server, information processing device, or information management device) has the function of providing predetermined services to terminal 20. Server 10 may be any information processing device capable of realizing the functions described in each embodiment. Server 10 includes, but is not limited to, a server device, a computer (not limited to, but an example of, a desktop, laptop, tablet, etc.), a media computer platform (not limited to, but an example of, a cable, satellite set-top box, digital video recorder, etc.), a handheld computer device (not limited to, but an example of, a PDA, email client, etc.), or other types of computers or communication platforms. Server 10 may also be referred to as an information processing device. If it is not necessary to distinguish between Server 10 and terminal 20, Server 10 and terminal 20 may or may not be referred to as information processing devices.

[0059] [Hardware configuration of each device] The hardware configuration of each device included in communication system 1 will be described below.

[0060] (1) Terminal hardware configuration Figure 1-1 shows an example of the hardware configuration of terminal 20. Terminal 20 comprises a control unit 21 (CPU: central processing unit), a storage unit 28, a communication interface 22, an input / output unit 23, a clock unit 29A, and a position calculation information detection unit 29B. The hardware components of terminal 20 are interconnected via bus B, not as an example but as an example. It is not mandatory for terminal 20's hardware configuration to include all components. Not as an example but as an example, terminal 20 may have a configuration in which individual components or multiple components are removed, or it may not.

[0061] The communication interface 22 transmits and receives various types of data via the network 30. Communication may be performed via wired or wireless connections, and any communication protocol may be used as long as communication between the interfaces is possible. The communication interface 22 has the function of communicating with various devices, such as the server 10, via the network 30. The communication interface 22 transmits various types of data to the server 10 and other devices according to instructions from the control unit 21. The communication interface 22 also receives various types of data transmitted from the server 10 and other devices and transmits them to the control unit 21. The communication interface 22 may also be simply referred to as the communication unit. Furthermore, if the communication interface 22 is composed of a physically structured circuit, it may be referred to as the communication circuit.

[0062] The input / output unit 23 includes devices for inputting various operations to the terminal 20, and devices for outputting processing results processed by the terminal 20. The input / output unit 23 may have an integrated input and output unit, or it may have separate input and output units, or it may not have to be integrated.

[0063] The input unit is implemented by any or any combination of any type of device capable of receiving input from the user and transmitting the information related to the input to the control unit 21. The input unit includes, but is not limited to, hardware keys such as touch panels, touch displays, and keyboards, pointing devices such as mice, cameras (operation input via video), and microphones (operation input via voice).

[0064] The output unit is implemented by any or any combination of any type of device capable of outputting the processing results processed by the control unit 21. The output unit includes, but is not limited to, touch panels, touch displays, speakers (for audio output), lenses (for, but is not limited to, 3D (three-dimensional) output or hologram output), printers, and the like.

[0065] This is merely one example, but the input / output unit 23 may include, but is not limited to, a display unit 24, an audio input unit 25, an audio output unit 26, and an imaging unit 27.

[0066] The display unit 24 is implemented by any or a combination of any type of device capable of displaying data according to the display data written to the frame buffer. The display unit 24 includes, but is not limited to, touch panels, touch displays, monitors (but is not limited to, liquid crystal displays and OLEDs (organic electroluminescence displays)), head-mounted displays (HDMs), projection mapping, holograms, and devices capable of displaying images, text information, etc., in air (which may or may not be a vacuum). These display units 24 may or may not be capable of displaying display data in 3D.

[0067] The sound input unit 25 is used for inputting sound data (including voice data; the same applies hereinafter). The sound input unit 25 includes a microphone, etc. The sound output unit 26 is used for outputting sound data. The sound output unit 26 includes a speaker and the like. The imaging unit 27 is used to acquire image data (including still image data and moving image data; the same applies hereinafter). The imaging unit 27 includes a camera, etc.

[0068] If the input / output unit 23 is a touch panel, the input / output unit 23 and the display unit 24 may be arranged facing each other and have substantially the same size and shape.

[0069] The clock unit 29A is the built-in clock of the terminal 20 and outputs time information (timing information). The clock unit 29A is configured, for example, using a crystal oscillator or the like. The clock unit 29A can also be described, for example, as a timing unit or a time information detection unit.

[0070] The clock unit 29A may or may not have a clock that conforms to the NITZ (Network Identity and Time Zone) standard, etc.

[0071] The position calculation information detection unit 29B is a functional unit that detects (measures) information necessary for the control unit 21 to calculate (measure) the position of its own terminal 20 (hereinafter referred to as "position calculation information"). The position calculation information detection unit 29B can also be described as a position calculation sensor unit, not as an extension of this definition, but as an example.

[0072] The position calculation information detection unit 29B includes, but is not limited to, satellite positioning sensors (satellite positioning units) which are sensors or units for calculating the position of terminal 20 using a satellite positioning system such as GPS (Global Positioning System), inertial measurement sensors (inertial measurement units (IMUs)) which are sensors or units for calculating the position of terminal 20 using an inertial navigation system, and UWB positioning sensors (UWB positioning units) which are sensors or units for calculating the position of terminal 20 using UWB (Ultra Wide Band).

[0073] The satellite positioning unit includes, but is not limited to, an RF receiving circuit that converts RF (Radio Frequency) signals, including positioning satellite signals transmitted from positioning satellites received by an antenna (not shown), into digital signals, and a baseband processing circuit that performs correlation calculations on the digital signals output from the RF receiving circuit to capture positioning satellite signals, and outputs information such as satellite orbit data and time data extracted from the positioning satellite signals as position calculation information.

[0074] The inertial measurement unit has inertial sensors, which are sensors that detect information necessary to calculate the position of terminal 20 by inertial navigation calculations. The inertial sensors include, but are not limited to, a 3-axis accelerometer and a 3-axis gyroscope, and output the acceleration detected by the accelerometer and the angular velocity detected by the gyroscope as position calculation information.

[0075] The UWB positioning unit includes, but is not limited to, an ultra-wideband RF receiving circuit that converts an ultra-wideband RF (Radio Frequency) signal, including a positioning ultra-wideband pulse signal transmitted from a positioning beacon received by an antenna (not shown), into a digital signal, and a relative position calculation processing circuit that calculates the relative position between the terminal 20 and the positioning beacon based on the digital signal output from the ultra-wideband RF receiving circuit. For example, the UWB positioning unit may or may not function as a positioning beacon by transmitting an ultra-wideband RF signal containing a positioning ultra-wideband pulse signal from an antenna (not shown).

[0076] The control unit 21 calculates the position of its own terminal 20 at regular or specific timings, based on the position calculation information detected by the position calculation information detection unit 29B, not as an example but as an example. The position of the terminal is referred to as the "terminal position," and the calculated terminal position is referred to as the "calculated terminal position." The control unit 21 may or may not store the calculated terminal position in the storage unit 28 as calculated terminal position history data, associated with the date and time the calculated terminal position was calculated.

[0077] The control unit 21 has physically structured circuitry to perform functions realized by code or instructions contained within the program, and is implemented, not limited to but for example, by a data processing device built into the hardware. Therefore, the control unit 21 may or may not be described as a control circuit.

[0078] The control unit 21 includes, but is not limited to, a central processing unit (CPU), a microprocessor, a processor core, a multiprocessor, an ASIC (application-specific integrated circuit), and an FPGA (field programmable gate array).

[0079] The storage unit 28 has the function of storing various programs and data necessary for the operation of the terminal 20. The storage unit 28 includes, but is not limited to, various storage media such as HDD (hard disk drive), SSD (solid state drive), flash memory, RAM (random access memory), and ROM (read-only memory). The storage unit 28 may or may not be referred to as memory.

[0080] Terminal 20 stores program P in storage unit 28, and by executing program P, the control unit 21 executes the processing of each part included in the control unit 21. In other words, program P stored in storage unit 28 enables terminal 20 to realize the various functions executed by the control unit 21. Furthermore, this program P may or may not be described as a program module.

[0081] (2) Server hardware configuration Figure 1-1 shows an example of the hardware configuration of server 10. Server 10 comprises a control unit 11 (CPU), a storage unit 15, a communication interface 14, an input / output unit 12, and a clock unit 19. The hardware components of Server 10 are interconnected via bus B, not as an example but as an example. It is not mandatory for Server 10's hardware configuration to include all components. For example but as an example, Server 10's hardware may be configured to exclude individual or multiple components, or it may not.

[0082] The control unit 11 has physically structured circuitry to perform functions realized by code or instructions contained within the program, and is implemented, but is not limited to, by a data processing device built into the hardware.

[0083] The control unit 11 is typically a central processing unit (CPU), but may also be a microprocessor, processor core, multiprocessor, ASIC, FPGA, or otherwise. In this disclosure, the control unit 11 is not limited to these.

[0084] The storage unit 15 has the function of storing various programs and data necessary for the operation of the server 10. The storage unit 15 is implemented using various storage media such as HDDs, SSDs, and flash memory. However, in this disclosure, the storage unit 15 is not limited to these. Also, the storage unit 15 may or may not be referred to as memory.

[0085] The communication interface 14 transmits and receives various types of data via the network 30. Communication may be performed via wired or wireless connections, and any communication protocol may be used as long as communication between the interfaces is possible. The communication interface 14 has the function of communicating with various devices, such as terminals 20, via the network 30. The communication interface 14 transmits various types of data to various devices, such as terminals 20, according to instructions from the control unit 11. The communication interface 14 also receives various types of data transmitted from various devices, such as terminals 20, and transmits them to the control unit 11. The communication interface 14 may also be simply referred to as the communication unit. Furthermore, if the communication interface 14 is composed of a physically structured circuit, it may be referred to as the communication circuit.

[0086] The input / output unit 12 includes devices for inputting various operations to the server 10, and devices for outputting processing results processed by the server 10. The input / output unit 12 may have an integrated input unit and an output unit, or it may have separate input and output units, or it may not have to be integrated.

[0087] The input unit is implemented by any or a combination of any type of device capable of receiving user input and transmitting the information related to the input to the control unit 11. The input unit is typically implemented by hardware keys such as keyboards or pointing devices such as mice. The input unit is not limited to, but may also include, for example, a touch panel, a camera (operation input via video), or a microphone (operation input via voice).

[0088] The output unit is implemented by any or any combination of any type of device capable of outputting the processing results processed by the control unit 11. The output unit includes, but is not limited to, touch panels, touch displays, speakers (sound output), lenses (but is not limited to, 3D (three-dimensional) output or hologram output), printers, and the like.

[0089] This is merely one example, but the input / output unit 12 may include a display unit 13, not as an example, but as an example.

[0090] The display unit 13 is implemented by a display or the like. The display is typically implemented by a monitor (not limited to, but for example, a liquid crystal display or an OLED (organic electroluminescence display)). The display may also be a head-mounted display (HDM) or not. These displays may or may not be capable of displaying data in 3D. In this disclosure, the display is not limited to these.

[0091] The clock unit 19 is the built-in clock of the server 10 and outputs time information (timing information). The clock unit 19 is configured to include, but is not limited to, a hardware clock such as an RTC (Real Time Clock) or a system clock. The clock unit 19 can also be described, but is not limited to, a timing unit or a time information detection unit.

[0092] (3) Others Server 10 stores program P in storage unit 15, and by executing program P, the control unit 11 performs the processing of each part included in the control unit 11. In other words, program P stored in storage unit 15 enables server 10 to realize each function executed by the control unit 11. This program P may or may not be described as a program module. The same applies to other devices.

[0093] Each embodiment of this disclosure is described as being realized by the CPU of terminal 20 and / or server 10 executing program P.

[0094] Furthermore, the control unit 21 of terminal 20 and / or the control unit 11 of server 10 may implement each process not only with a CPU having a control circuit, but also with logic circuits (hardware) or dedicated circuits formed on an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)), etc., or they may not. Also, these circuits may be implemented by one or more integrated circuits, and the multiple processes shown in each embodiment may be implemented by a single integrated circuit, or they may not. In addition, LSIs are sometimes called VLSI, Super LSI, Ultra LSI, etc., depending on the degree of integration. For this reason, the control unit 21 may or may not be described as a control circuit.

[0095] Furthermore, the program P of each embodiment of the present disclosure (for example, a software program, a computer program, or a program module, but not limited to these) may or may not be provided stored on a computer-readable storage medium. The storage medium is a “non-temporary tangible medium” capable of storing the program P. Also, the program P may or may not be for the purpose of implementing some of the functions of each embodiment of the present disclosure. Furthermore, the program P may or may not be a so-called differential file (differential program) that can implement the functions of each embodiment of the present disclosure in combination with a program P already recorded on the storage medium.

[0096] Furthermore, when we refer to a system program (a program executed by a system), the system is as described above. The system program described above is a program that can be executed across the entire system, and this program is not limited to, for example, composed of programs for each device that makes up the system, and the programs stored in each device that makes up the system may be different. In other words, it does not have to be a common program for each device that makes up the system. As an example, and not an limitation, if the system consists of a terminal and a server, and the system program is P1, then the system program P1 consists of a program P2 stored on the terminal and a program P3 stored on the server, and P2 and P3 are for executing the system program and may be different programs. As an example, and not an limitation, the program P2 stored on the terminal may be a program that performs a first process and sends the result of the first process to the server, and the program P3 stored on the server may be a program that performs a second process on the received result of the first process and sends the result of the second process to the terminal.

[0097] The storage medium may include one or more semiconductor-based or other integrated circuits (ICs) (for example, but not limited to, field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM drives, secure digital cards, or drives, any other suitable storage medium, or any two or more suitable combinations thereof. The storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate. The storage medium is not limited to these examples and may be any device or medium capable of storing program P. The storage medium may or may not be referred to as memory.

[0098] The server 10 and / or terminal 20 can realize the functions of the multiple functional units shown in each embodiment by reading the program P stored in the storage medium and executing the read program P.

[0099] Furthermore, the program P of this disclosure may or may not be provided to the server 10 and / or terminal 20 via any transmission medium capable of transmitting the program (such as a communication network or broadcast waves). The server 10 and / or terminal 20 realize the functions of the multiple functional units shown in each embodiment by executing the program P downloaded via the Internet or the like, for example, without limit.

[0100] Furthermore, each embodiment of this disclosure can also be realized in the form of a data signal in which the program P is embodied by electronic transmission. At least part of the processing on server 10 and / or terminal 20 may or may not be implemented by cloud computing consisting of one or more computers. The configuration may be such that at least some or all of the processing on terminal 20 is performed by server 10, or it may not be so. In this case, the configuration may be such that at least some or all of the processing of each functional unit of the control unit 21 of terminal 20 is performed by server 10, or it may not be so. The configuration may be such that at least some or all of the processing in the server 10 is performed by the terminal 20, or it may not be so. In this case, the configuration may be such that at least some or all of the processing of each functional unit of the control unit 11 of the server 10 is performed by the terminal 20, or it may not be so.

[0101] Unless otherwise explicitly stated, the configuration of the determination in the embodiments of this disclosure is not mandatory, and a predetermined process may be performed if the determination condition is met, or if the determination condition is not met, or not.

[0102] The programs disclosed herein may be implemented using, but are not limited to, scripting languages ​​such as ActionScript and JavaScript®, compiled languages ​​such as Objective-C and Java®, and markup languages ​​such as HTML Living Standard, as examples.

[0103] <Functional Configuration> (1) Server Functional Configuration Figure 1-2 shows an example of a function realized by the control unit 11 of the server 10 in this embodiment. The control unit 11 may include, but is not limited to, an application management processing unit 111 as a functional unit for executing application management processing according to an application management processing program 151 stored in the storage unit 15.

[0104] Figure 1-3 shows an example of the information stored in the storage unit 15 of the server 10 in this embodiment. The memory unit 15 stores, but is not limited to, an application management processing program 151 executed by the control unit 11 as application management processing, account registration data 153, store registration data 154, product price management database 155, and receipt information management database 157.

[0105] The account registration data 153 is registration data related to the account of the application (in this embodiment, the shopping assistance application), and an example of its data structure is shown in Figure 1-4. The account registration data 153 stores, as an example and not limited to, the username, application ID, and other registration information in association with each other.

[0106] The username is the name of the account on device 20 using this application. It is not limited to this name, but rather, it is the name registered by the user of device 20 when they use the application.

[0107] An application ID is information used to identify an application account, or the account itself. This application ID is preferably a unique value for each account, and is not limited to, but is set and stored by the server 10 as an example for each account. The Application ID is information associated with terminal 20 or the user of terminal 20, and is an example of information about the terminal or the user of the terminal.

[0108] Other registration information may include, but is not limited to, various types of information such as identification information to identify terminal 20, terminal 20's phone number (terminal phone number), email address (terminal email address), and authentication information such as passwords used for various authentications in the application (login password, authentication password, etc.).

[0109] The identification information used to identify terminal 20 can be, for example, the terminal ID (or, for example, the IMEI (International Mobile Equipment Identity)), not limited to these. Furthermore, the identification information used to identify the user of terminal 20 is not limited to specific examples; it could be an application ID for general users or an application ID for official users.

[0110] Note that you may or may not use "User ID" instead of "Application ID". Furthermore, for applications where only one account can be registered per device 20, the limitation is not restrictive; for example, "identification information for identifying device 20 = identification information for identifying the user of device 20 = application ID" can be used.

[0111] Furthermore, as an example and not an limitation, it may be possible to assign multiple terminal IDs to a single application ID, or not. In this case, it may be possible to launch the application in parallel on multiple terminals 20 using a single application ID as the target for identification (login), or not.

[0112] Furthermore, it is possible to apply a method of managing accounts using information such as the terminal's phone number instead of various IDs such as application IDs. In this case, instead of storing information such as the application ID in the account registration data 153, information such as the terminal phone number can be stored in the account registration data 153. Alternatively, the application ID information may be associated with the terminal phone number information on a one-to-one basis, or it may not be necessary to do so.

[0113] For the sake of simplicity, in the following embodiments, it will be assumed that one account is registered for each terminal 20. Furthermore, in this case, as described above, "identification information for identifying terminal 20 = identification information for identifying the user of terminal 20 = application ID," therefore, the term "user of the account" used in the following explanation may be considered substantially synonymous with "terminal of the account."

[0114] The store registration data 154 is registration data about stores where users of terminal 20 can purchase products, and an example of its data structure is shown in Figure 1-5. Store registration data 154 stores, as an example (not limited to), the store ID, store name, store location information, and other registration information in association with each other.

[0115] The store ID is identification information used to uniquely identify this store. It is not limited to a specific store, but rather, as an example, a unique value (a unique value) is set and stored for each store by server 10.

[0116] The store name will store the name of the store identified by this store ID.

[0117] The store location information stores the location of the store identified by this store ID. The store location information may be two-dimensional location information represented by latitude, longitude, or two-dimensional coordinate values, or three-dimensional location information represented by latitude, longitude, altitude, or three-dimensional coordinate values.

[0118] Other registration information may include, but is not limited to, other information about the store identified by this store ID. This may include, but is not limited to, information such as the store's contact details.

[0119] The product price management database 155 is a database for managing the prices of products available for purchase at stores registered in the store registration data 154 (hereinafter referred to as "product prices" as appropriate). An example of the data structure of product price management database 155A is shown in Figure 1-6. Product price management database 155A stores product price management data for each of multiple products.

[0120] Each product price management data entry will store, for example, the product ID, product name, lowest price, lowest price store ID, and store-specific product price data.

[0121] The product ID is identification information used to uniquely identify this product. It is not limited to this example, but rather, server 10 sets and stores a unique value (a specific value) for each product with that product name.

[0122] The product name stores the name of the product identified by this product ID.

[0123] The lowest price is stored as the lowest price for the product identified by this product ID. Specifically, the lowest price among the store-specific product prices for this product stored in the store-specific product price data included in the product price management data for this product is identified and stored as the lowest price.

[0124] The Lowest Price Store ID stores the ID of the store that sells the product at the lowest price. Specifically, the Lowest Price Store ID stores the store ID corresponding to the lowest price identified among the store-specific product prices for this product stored in the store-specific product price data included in the product price management data for this product.

[0125] The store-specific product price data stores, as an example (though not limited to specific cases), an association between a store ID and the product price of a product identified by a product ID at the store identified by that store ID.

[0126] Some products have a GTIN (Global Trade Item Number) code (not limited to this, but in Japan, for example, a JAN (Japanese Article Number) code) that indicates which business and which product it is. Depending on the store, the paper receipt issued may have a product identification code printed on it, associated with the product name and price. For example, in Japan, the product identification code may be a code of a predetermined number of digits starting with the number "4" printed on the receipt.

[0127] Therefore, as will be described later, if the receipt information acquired by the server 10 from multiple terminals 20 includes a product identification code, the server 10 may set a product ID based on that product identification code. In the diagram, a product ID set by the server 10 based on a product identification code may be indicated by "AN~", and a product ID set by the server 10 without a product identification code may be indicated by "AR~".

[0128] As an example, not a limiting one, the product price management data shown at the very front of Figure 1-6 is for a product named "〇× Yogurt," with "AN0002" set as the product ID. In other words, this is data where the product ID is set by the product identification code.

[0129] For products that do not have a product identification code (for example, meat and vegetables), the server 10 can cluster the products based on the product names included in the receipt information obtained from multiple terminals 20, and then set a product ID for each product based on the results of that clustering.

[0130] Furthermore, for products in the fresh food industry, it may be permissible to use a standard fresh food product code (not limited to this, but for example, a fresh food JAN code). Furthermore, meat products may be subject to the use of standard meat logistics codes (such as standard meat logistics barcodes).

[0131] Alternatively, server 10 may set the product identification code itself as the product ID. Alternatively, server 10 may set its own product ID for all products, regardless of whether or not a product has a product identification code.

[0132] Additionally, the above product price management data may be configured to store the average price of that product across all stores over a specified past period (not limited to a specific period, but for example, the past month). Additionally, the store-specific product price data may be configured to store the historical price of that product at that store. Similarly, the average price of that product at that store over a specified past period (not necessarily limited, but for example, the past month) may be stored. Alternatively, the store-specific product price data may be stored in association with the product ID, along with the special sale information for that store.

[0133] The receipt information management database 157 is a database for managing receipt information, and an example of its data structure is shown in Figure 1-7. The receipt information management database 157 stores receipt information management data as management data for each receipt.

[0134] Here, the receipt information may include, but is not limited to, at least one of the following: (A1) When the user manually enters information on terminal 20 by referring to the receipt: Store name, receipt issuance date and time, product name, unit price, quantity, product weight (grams, etc.), product identification code, total amount, etc. (A2) When taking a picture of the receipt with terminal 20: the receipt image itself, digitized information and data (text information, text data, etc.) obtained by performing OCR (Optical Character Recognition / Reader) on the receipt image with terminal 20, and various types of information (A1) identified from this information.

[0135] Each receipt information management data entry stores, but is not limited to, the following as an example: the registrant application ID, the receipt ID, the date and time the receipt was issued, the store ID that issued the receipt, and the receipt details.

[0136] The registered user application ID stores the application ID of terminal 20 that registered the receipt information for this receipt, or the application ID of the user of terminal 20.

[0137] The receipt ID is identification information used to uniquely identify this receipt. Each time receipt information is received from terminal 20, server 10 analyzes the receipt information. If it determines that it is a new receipt, it sets a unique value (unique value) for that receipt and stores it in the receipt ID.

[0138] The receipt issue date and time are stored in the receipt issue date and time field. Each time receipt information is sent from terminal 20, server 10 analyzes the receipt information to obtain the receipt issue date and time and stores the receipt issue date and time.

[0139] The receipt issuing store ID stores the store ID of the store that issued the receipt. Each time receipt information is transmitted from terminal 20, server 10 analyzes the receipt information to identify the store (store ID) and stores the corresponding store ID in the receipt issuing store ID.

[0140] The receipt detail data is data relating to the details of the receipt identified by this receipt ID, and is not limited to, but for example, the product ID, product unit price, and product quantity are stored in association. This information is obtained and stored by the server 10 by analyzing the receipt information transmitted from the terminal 20, as described above.

[0141] The unit price of a product may be the unit price of a product that can be identified by its product identification code. Furthermore, for products sold by weight or other items that do not have a product identification code, the unit price may be a predetermined price per gram (not limited to a specific amount, but for example, the price per "100 grams").

[0142] (2) Terminal Functional Configuration Figure 1-8 shows an example of a function realized by the control unit 21 of the terminal 20 in this embodiment. The control unit 21 may, but is not limited to, include an application processing unit 211 as a functional unit for executing application processing according to an application processing program 281 stored in the storage unit 28.

[0143] Figure 1-9 shows an example of data stored in the storage unit 28 of the terminal 20 in this embodiment. The memory unit 28 stores, for example but not limited to, an application processing program 281 executed as application processing by the control unit 21, and an application ID 283 corresponding to this terminal 20 or the user account of terminal 20.

[0144] <Display screen> In the following examples, rather than being limited, we will illustrate the case where terminal 20 is a smartphone equipped with a vertically oriented display unit 24.

[0145] A smartphone, as an example, has a touch panel that functions as an input area, positioned opposite its display, thereby forming a touchscreen. When an element such as an icon, button, item, or input area is displayed on the display, and a portion of the touch panel opposite the area where the element is displayed is operated by the user, the program associated with that element or a subroutine of that program is executed.

[0146] The screen transitions described below are merely examples of screen transitions for implementing the method of this disclosure. Some screens may be omitted or additional screens may be added to the screen transitions exemplified below.

[0147] In this embodiment, when a user makes a purchase at a store, receipt information based on a paper receipt obtained at the store is transmitted from terminal 20 to server 10. Various methods can be applied to acquire receipt information at terminal 20, but this display screen example illustrates the case where terminal 20 reads the receipt and acquires the receipt information.

[0148] Figure 1-10 shows an example of the screen transitions displayed on the display unit 24 of the terminal 20 in this embodiment. Figure 1-10, on the left, shows an example of a receipt screen in a shopping assistance application. The name of the shopping assistance application, "Shopping Assistant App," is displayed at the top center of the screen. Also, the icon image and username (user AA in this example) of the user of this terminal 20A in the shopping assistance application are displayed at the top right of the screen.

[0149] Below that, there is an area that shows the current location and page within the shopping assistance application (hereinafter collectively referred to as the "in-app location display area"). In this example, based on the fact that it is the receipt screen, the word "Receipt" and a "<" button to return to the previous screen are displayed.

[0150] In the area below, there are, as examples, a "Take a picture of the receipt" button BT11 for taking a picture of the receipt, a "Enter receipt information" button BT12 for the user to manually enter the receipt information, a "Enter product price" button BT13 for the user to manually enter the price of individual products, and a "View usage report" button BT14 for checking past usage reports.

[0151] Furthermore, the bottom of the screen contains a function display area that shows various functions of the shopping assistance application using icons. In this example, a receipt icon corresponding to functions related to receipts, a price comparison icon corresponding to functions related to comparing product prices, a shopping list icon corresponding to functions related to shopping lists, and a coupon icon corresponding to functions related to coupons that the user can use when shopping are displayed. In Figure 1-10, the receipt screen is displayed when the receipt icon is selected, and the receipt icon is highlighted.

[0152] As an example, not limited to this case, when the "Take a picture of the receipt" button BT11 is tapped, the screen transitions to the receipt photography screen shown in the center of Figure 1-10. On the receipt photography screen, the imaging unit 27 of the terminal 20A is activated, and an imaging frame for photographing (taking a picture of) the receipt is displayed below the in-app position display area, with the instruction "Place the receipt within the frame and take a picture" displayed below that. As an example, not limited to this case, the user adjusts the position and orientation of the terminal 20 so that the receipt fits within the imaging frame by placing the receipt on a table or holding it in their hand. Then, as an example, not limited to this case, the user taps the imaging button BT15 located below the instruction "Place the receipt within the frame and take a picture" to cause the imaging unit 27 to take a picture of the receipt.

[0153] As a result, as an example rather than a limitation, the display shown on the right side of Figure 1-10 is displayed. In this example, receipt reading information RR11, which includes a checkmark icon image, the text "Receipt read successfully," a "Show Reading Results" button BT17 for displaying the receipt reading results, and a "Capture Next Receipt" button BT18 for capturing the next receipt, is displayed in a pop-up format in the center of the screen on the right side of Figure 1-10.

[0154] Furthermore, if the "Enter Receipt Information" button BT12 is tapped, a receipt information input screen (not shown) can be displayed on the display unit 24, for example, although this is not an exclusive rule. On this receipt information input screen, the user can input receipt information while referring to the receipt.

[0155] Furthermore, if the "Enter Product Price" button BT13 is tapped, a product price input screen (not shown) can be displayed on the display unit 24, for example. On this product price input screen, the user can enter the price of a single product. This product price input can be applied, for example, to a user entering the price of a product they found in a store.

[0156] It should be noted that users may lose or throw away their receipts. Therefore, as an example rather than a limiting rule, if the product the user actually purchased has a price tag, the user could refer to that price tag and enter the product price.

[0157] <Processing> In the following, two processes are given as examples, not as limitations, of the processes in this embodiment.

[0158] (1) First process The first process is when the user of terminal 20 manually enters information regarding the price of a product (or service) into terminal 20.

[0159] Figure 1-11 is a flowchart showing an example of the processing flow performed by each device in this case. In this diagram, the left side shows the processing performed by the control unit 21 of terminal 20A, and the right side shows the processing performed by the control unit 11 of server 10.

[0160] The processes described below are merely examples of processes for implementing the method of this disclosure, and are not limited to these. You may add other steps to the process described below, or you may omit (delete) some steps from the process described below.

[0161] Furthermore, although only terminal 20A is shown in this diagram for convenience, similar processing can be performed for other terminals 20. In other words, the server 10 can receive receipt information from various users' terminals 20 (multiple terminals 20) and then perform receipt information analysis processing (S110) and receipt information aggregation processing (S120).

[0162] Specifically, and not limited to, but as an example, as shown in Figure 1-12, the server 10 can receive receipt information from multiple terminals 20, such as the first terminal 20 of the first user, the second terminal 20 of the second user, the third terminal 20 of the third user, and so on, and then perform receipt information analysis processing (S110) and receipt information aggregation processing (S120). Furthermore, terminal 20A does not necessarily have to be included among these terminals 20. In other words, it is not mandatory for user AA of terminal 20A to participate in the aggregation of receipt information.

[0163] First, the control unit 21 of terminal 20A accepts receipt information input from the user via the input / output unit 23, not as an example but as an example (A105). Specifically, not as an example but as an example, the user can be prompted to input various types of information as receipt information, as shown in (A1) above.

[0164] Subsequently, the control unit 21 of terminal 20A transmits the receipt information entered by the user via the input / output unit 23 to the server 10 via the communication interface 22 (A120).

[0165] When receipt information is received from terminal 20A via communication I / F14, the control unit 11 of server 10 performs receipt information analysis processing (S110). Specifically, the application ID of terminal 20 or its user that received the receipt information is used as the registered application ID, and based on the received receipt information, receipt information management data including receipt ID, receipt issuance date and time, receipt issuing store ID, and receipt detail data is generated and added to the receipt information management database 157.

[0166] In this case, the control unit 11 of the server 10 can, as an example and not an exhaustive one, store the product ID in the receipt detail data if product price management data for the same product name is already registered in the product price management database 155A based on the product name included in the receipt information, by estimating that the product ID is the same as the registered product ID.

[0167] Furthermore, in step S110, the control unit 11 of the server 10 may estimate a predetermined price per gram (not limited to a specific price, but for example, the price per "100 grams") for products sold by weight, based on the product weight (in grams) and price information included in the received receipt information, and store this price in the product unit price of the receipt details data.

[0168] Next, the control unit 11 of the server 10 performs receipt information aggregation processing (S120). Specifically, the control unit 11 updates the product price management data corresponding to each product ID in the product price management database 155A, reflecting the data added to the receipt information management database 157, not limited to, but as an example.

[0169] After A120, the control unit 21 of terminal 20A determines whether to terminate without inputting receipt information based on another receipt (A125). If it determines that it will not terminate yet (A125: NO), it returns to A105. On the other hand, if it is determined that the process is finished (A125: YES), the control unit 21 of terminal 20A sends input completion information to the server 10 via the communication interface 22 (A135). Then, the control unit 21 of terminal 20A terminates the process.

[0170] After S120, the control unit 11 of the server 10 determines whether or not it has received input end information from the terminal 20A via the communication I / F 14 (S125). If it determines that it has not received the information (S125: NO), it returns to processing S110. On the other hand, if it determines that it has received input termination information (S125: YES), the control unit 11 of the server 10 terminates processing.

[0171] As mentioned above, it is also possible to have the user input the price of individual items. When accepting the price of individual items, the control unit 21 of terminal 20 may, in step A105, accept, for example, the store name, product name, and unit price from among the various pieces of information shown in (A1) above.

[0172] Alternatively, instead of inputting the store name, the control unit 21 of terminal 20A may acquire location information and transmit it to the server 10. Furthermore, instead of inputting the product name, the control unit 21 of terminal 20A may acquire the barcode information of the product obtained by the imaging unit 27.

[0173] In this case, the control unit 11 of the server 10 estimates the store ID and product ID based on the store name and product name included in the receipt information during the receipt information analysis process. Then, the control unit 11 of the server 10 updates the product price management data corresponding to each product ID included in the product price management database 155A. This makes it possible, not limited to, but for example, to aggregate the prices of each product that a user of terminal 20A finds in a store.

[0174] (2) Second process The second process involves the terminal 20 reading the receipt and obtaining the receipt information. This process corresponds to the flow of the display screen shown in Figure 1-10 mentioned above.

[0175] Figure 1-13 is a flowchart showing an example of the processing flow performed by each device in this case. The way to interpret the figure is the same as in Figure 1-11. First, the control unit 21 of terminal 20A performs receipt reading processing (A110). Specifically, and not limited to, but as an example, it controls the imaging unit 27 to image the receipt based on user input via the input / output unit 23.

[0176] Subsequently, the control unit 21 of terminal 20A transmits the receipt information to the server 10 via the communication interface 22 (A120). In this case, the control unit 21 may transmit any of the following information to the server 10, not limited to these examples. • The image of the receipt captured by the imaging unit 27 (hereinafter referred to as the "receipt image"). • Text information from receipts obtained by OCR, etc. (hereinafter referred to as "receipt text information")

[0177] When receipt information is received from terminal 20A via communication I / F14, the control unit 11 of server 10 performs the following processing as receipt information analysis processing (S110).

[0178] If the receipt information received from terminal 20A is a receipt image, the control unit 11 performs OCR or the like to convert the receipt into text data. Based on the resulting receipt text information, it generates receipt information management data including the receipt ID, receipt issuance date and time, receipt issuing store ID, and receipt detail data, associated with the registrant application ID, and adds it to the receipt information management database 157.

[0179] If the receipt information transmitted from terminal 20A is receipt text information, the control unit 11 generates receipt information management data, including the receipt ID, receipt issuance date and time, receipt issuing store ID, and receipt detail data, based on the received receipt text information and associating it with the registrant application ID, and adds it to the receipt information management database 157.

[0180] As mentioned above, if the receipt information includes a product identification code, that product identification code may be used as the product ID.

[0181] After S110, the control unit 11 of the server 10 proceeds to processing in S120.

[0182] After A120, the control unit 21 of terminal 20A determines whether to terminate receipt reading (A130). If it determines to continue reading the receipt (A130: NO), it returns to A110. On the other hand, if it determines that the receipt reading is complete (A130: YES), the control unit 21 of terminal 20A sends reading completion information to the server 10 via the communication interface 22 (A140). Then, the control unit 21 of terminal 20A terminates processing.

[0183] After S120, the control unit 11 of the server 10 determines whether or not it has received read completion information from the terminal 20A via the communication I / F 14 (S130). If it determines that it has not received the information (S130: NO), it returns to S110. On the other hand, if it determines that it has received information indicating the end of reading (S130: YES), the control unit 11 of the server 10 terminates processing.

[0184] <Effects of the First Example> In this embodiment, the target terminal 20 (hereinafter referred to as the "target terminal") transmits receipt information, which includes at least price information (not limited to price information, but an example of information regarding the amount of goods or services purchased at a store), to the server 10 via the communication interface 22. The diagram then shows a configuration in which the server 10 analyzes and aggregates receipt information based on receipt information sent from multiple terminals 20. As an example of the effects of this configuration, by acquiring monetary information at a terminal and sending it to the server, the server can aggregate and manage first monetary information, which includes monetary information for goods or services purchased at the first store, and second monetary information, which includes monetary information for goods or services purchased at the second store, based on the amount of money spent on goods or services at the first store.

[0185] <Second Example> The second embodiment is an embodiment in which the terminal 20 acquires the product price information aggregated by the receipt information aggregation process described above and displays it on the display unit 24.

[0186] The contents described in the second embodiment are applicable to any of the other embodiments or other modifications. Furthermore, components identical to those previously mentioned are given the same symbols, and their explanation is omitted.

[0187] <Display screen> Figure 2-1 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this embodiment.

[0188] Figure 2-1, on the left, shows an example of a price comparison screen in a shopping assistance application. On this price comparison screen, the words "Price Comparison" and a "<" button to return to the previous screen are displayed in the in-app location display area. Below that, there is a product price information display area for displaying product price information. In the function display area at the bottom of the screen, the price comparison icon is displayed in a different manner from the other function icons when it is tapped and selected.

[0189] At the top of the product price information display area is a product input area CI21 where the user enters the product name or item to search for, and next to it is a search button BT21 for executing a search using the entered information.

[0190] Below that, under the heading "Frequently Purchased Items," products that user AA frequently buys are displayed separately in a display area consisting of a frame surrounding the product image, product name, and average price. In this example, they are listed in a carousel format. This information is not limited to this example; it can be displayed based on user AA's past purchase history.

[0191] A user's purchase history can be identified, for example, from the user's receipt information management data in the receipt information management database 157, although this is not an exhaustive list.

[0192] However, the system is not limited to this; the user's purchase history may also be stored by having the user input information about the purchased items on terminal 20 and send it to server 10. Furthermore, if the store is a partner of the shopping assistance service provider, the server 10 may obtain information about the user's purchase history from the store's server or similar, so that the user's purchase history is stored.

[0193] Furthermore, based on the tapping of the display area for one of the "frequently purchased items," the system may, for example, display the price of that item at each store located within a relatively nearby range, such as a radius of 1 km from the latest calculated terminal location of terminal 20A, rather than limiting it to specific locations.

[0194] Furthermore, the user's past purchase history may be stored in at least one of the terminal 20 and the server 10, and the frequently purchased items may be displayed based on the purchase history stored in the terminal 20, or the frequently purchased items may be displayed based on the purchase history stored in the server 10.

[0195] Furthermore, for information displayed in a carousel format, including the examples shown below, users can change the displayed information and its position by sliding left or right.

[0196] Below that, coupons available to user AA when making a purchase are displayed in a carousel format in this example, with each coupon associated with a store where it can be used, and each box containing an image of the product, the product name, and details of the coupon's benefits. Specific examples of how the coupons can be used will be described later in the third example.

[0197] As an example, not limited to this case, when the product input area CI21 is tapped, and "yogurt" is entered as an item by the user AA using a keyboard (not shown), and then the search button BT21 is tapped, the screen shown in the center of Figure 2-1 is displayed.

[0198] On this screen, below the product input area CI21 and the search button BT21, information on the average price of the item "yogurt" (in this example, "166 yen") is displayed as an example of product price information for the item "yogurt". This average price can be calculated based on the receipt information analysis process and receipt information aggregation process described above.

[0199] Below that, as an example of product pricing information, the lowest price information for "yogurt" at each store is displayed. Specifically, each store name is associated with a frame containing an image of the cheapest yogurt product at that store, the product name, and its price (=lowest price), all displayed in a carousel format in this example.

[0200] Below that, information about "yogurt" that user AA has purchased in the past is displayed. Specifically, not limited to specifics but as an example, each store name is associated with a frame containing an image of the yogurt product that user AA purchased at that store, along with the product name and purchase price. In this example, the frame is displayed in a carousel format.

[0201] As an example, not limited to specific cases, when information about the lowest price for "yogurt" is tapped and selected, the display shown on the right side of Figure 2-1 will appear, for example, when the information for the product (product name) "〇× Yogurt" from the store name "XX Mart JJ Store" is tapped and selected. Specifically, the store name "XX Mart JJ Store" is displayed along with an enlarged image of the selected product "〇× Yogurt," the product name, and the product price (in this example, "198 yen") are displayed. An icon indicating that it is the lowest price is placed to the right of the product price.

[0202] Below that, for the product "〇× Yogurt" selected by the user in the central screen of Figure 2-1, price information for the product "〇× Yogurt" at multiple stores is displayed in a carousel format, associated with each store name. This includes information for the store with the lowest price, "XX Mart JJ Store." In other words, price information for the same product at other stores is displayed as a price list. In this example, the information for the store with the lowest price (in this example, "XX Mart JJ Store") is displayed on the far left for the user's convenience.

[0203] <Processing> Figure 2-2 is a flowchart showing an example of the processing flow performed by each device in this embodiment, and is an example of processing when applying the processing shown in Figure 1-13. The process is similar when applying the method shown in Figure 1-11, so the illustration and explanation are omitted here.

[0204] As an example, not limited to A140, after A140, the control unit 21 of terminal 20A transmits product search information, including the entered product name or item name, etc., to the server 10 via the communication I / F 22, based on the input from the user via the input / output unit 23 for searching for products (A210).

[0205] As mentioned above, it is not mandatory for the user of terminal 20A to participate in the aggregation of receipt information. Therefore, steps A110 to A140 in terminal 20A and steps S110 to S130 in server 10 may be omitted, and the process may start from step A210. In other words, terminal 20A may not send receipt information to server 10, and instead execute steps A210 and beyond based on receipt information sent to server 10 from other terminals 20 and analyzed and aggregated by server 10. This means that even if you do not provide receipt information to server 10 yourself, you can still receive services such as product searches and price comparisons based on receipt information provided to server 10 by others. This also applies to other embodiments.

[0206] When the server 10 receives product search information from terminal 20A via communication I / F14, the control unit 11 of the server 10 performs product search processing (S210). Specifically, if the received product search information includes a product name, it searches the product price management database 155A for product price management data of that product name. If the information includes an item name, it searches the product price management database 155A for product price management data of product names included in that item.

[0207] Next, the control unit 11 of the server 10 transmits product price information based on the search results of S210 to the terminal 20A via the communication interface 14 (S220). Specifically, it transmits the information contained in the product price management data obtained as a search result in S210 (including product price and store information) to the terminal 20A via the communication interface 14. Then, the control unit 11 of the server 10 terminates processing.

[0208] After A210, when product price information is received from server 10 via communication I / F22, the control unit 21 of terminal 20A displays the received product price information on display unit 24 (A220). The product price information may be displayed on the price comparison screen mentioned above, or on a map image. Then, the control unit 21 of terminal 20A terminates the process.

[0209] In addition, in A210, the control unit 21 of terminal 20A may include the product identification code in the product search information and send it to the server 10. In this case, the control unit 11 of server 10 may search for product price management data for the product ID corresponding to the product identification code included in the received product search information in S210.

[0210] Furthermore, in A210, the control unit 21 of terminal 20A may include the captured image of the product captured by the imaging unit 27 in the product search information and transmit it to the server 10. In this case, the control unit 11 of server 10 may, for example, perform image analysis on the received captured image of the product to identify the product name and item.

[0211] Alternatively, the control unit 21 of terminal 20A may perform image analysis on the captured image of the product to identify the product name and item, and then include the identified product name and item in the product search information and send it to the server 10.

[0212] <Effects of the second example> In this embodiment, the target terminal 20 receives product price information (example of first price information, example of second price information) based on receipt information (not limited to, but an example of information regarding the amount of goods or services purchased at a store) that includes at least price information, received by the server 10 from multiple terminals 20, via the communication I / F 22. The target terminal 20 then displays product price information (not limited to, but an example of first price information) for goods or services from one store (not limited to, but an example of first store) associated with that store on the display unit 24, and displays product price information (not limited to, but an example of second price information) for goods or services from other stores (not limited to, but an example of second store) associated with those other stores on the display unit 24. As an example of the effects of this configuration, the server receives information from multiple terminals regarding the amount of goods or services purchased at the stores. This information includes a first price information set, which contains the price information for goods or services at the first store, and a second price information set, which contains the price information for goods or services at the second store. By displaying this information in association with each store, the price information can be communicated to the terminal users for each store.

[0213] In this case, the price information included in the receipt information (not limited to, but an example of information regarding the amount of goods or services purchased at a store) may include price information for goods or services at a store (not limited to, but an example of, first amount information) transmitted from one terminal 20 (not limited to, but an example of, first terminal) included in the multiple terminals 20, and price information for goods or services at another store (not limited to, but an example of, second store) transmitted from another terminal 20 (not limited to, but an example of, second terminal) included in the multiple terminals 20 (not limited to, but an example of, second amount information) As an example of the effects obtained by this configuration, the first amount information for the first store transmitted from the first terminal included in the multiple terminals, and the second amount information for the second store transmitted from the second terminal included in the multiple terminals, can be displayed in association with each store and notified to the terminal user. As a result, user convenience is improved.

[0214] In this case, the price information for one product or service can be transmitted to the server 10 by reading a receipt issued at one store using one terminal 20, and the price information for another product or service can be transmitted to the server 10 by reading a receipt issued at another store using another terminal 20. One example of the effects of this configuration is that when a receipt issued at the first store is read by the first terminal, the first amount information can be easily transmitted to the server. Similarly, when a receipt issued at the second store is read by the second terminal, the second amount information can be easily transmitted to the server.

[0215] In this case, the price information included in the receipt information (not limited to, but an example of information regarding the amount of goods or services purchased at the store) includes price information (not limited to, but an example of, first amount information) for goods or services at one store (not limited to, but an example of, first store) transmitted from the target terminal 20 included in the multiple terminals 20. In this case, the target terminal 20 can be configured so that the control unit 21 performs a receipt reading process to read a receipt issued at one store, and based on the receipt reading process, the control unit 21 controls the transmission of the price information (first amount information) included in the read receipt information to the server 10 via the communication I / F 22. As an example of the effects of this configuration, by having the terminal read the receipt issued at the first store, the first amount information can be easily transmitted to the server.

[0216] Furthermore, in this embodiment, the target terminal 20 transmits product search information, including information on a product (not limited to, but an example of a first product) or a service (not limited to, but an example of a first service) entered by a user of its terminal 20, to the server 10 via the communication I / F 22. The target terminal 20 then receives product price information, including price information (not limited to, but an example of first price information) for that product or service at a single store, and price information (not limited to, but an example of second price information) for the same product or service at other stores, via the communication I / F 22, based on the information on that product or service. As an example of the effects of this configuration, by sending information about a first product or a first service entered by the terminal user to the server, it is possible to easily obtain first price information when purchasing the first product or first service at a first store, and second price information when purchasing the first product or first service at a second store.

[0217] Furthermore, in this embodiment, the target terminal 20 receives price information (not limited to, but an example of a third store) from one or more stores (not limited to, but an example of a third store) or price information (not limited to, but an example of a third store) via the communication I / F 22, based on the purchase history of the user of the terminal 20. The target terminal 20 then displays this price information on the display unit 24, associating it with the corresponding store. As an example of the effects obtained by this configuration, based on the user's purchase history on the terminal, third-party price information, including price information for products or services from the third store, can be provided to the user in association with the third store. For example, price information for products or services frequently purchased by the user can be displayed in association with multiple stores.

[0218] Furthermore, in this embodiment, a server 10 that communicates with multiple terminals 20 receives receipt information (not limited to, but an example of information regarding the amount of goods or services purchased at a store) containing price information from the multiple terminals 20 via a communication interface 14. The server 10 also includes a storage unit 15 that stores the receipt information transmitted from the multiple terminals 20. The server 10 also includes a control unit 11 that controls the transmission of product price information (not limited to, but an example of first amount information, an example of second amount information) based on the receipt information to the terminals 20 via the communication interface 14. In this case, the product price information (not limited to, but an example of first amount information) for goods or services from one store (not limited to, but an example of first store) is displayed on the display unit 24 of the terminal 20 in association with that store, and the product price information (not limited to, but an example of second amount information) for goods or services from another store (not limited to, but an example of second store) is displayed on the display unit 24 of the terminal 20 in association with the other store. As an example of the effects obtained by this configuration, it is possible to transmit to a terminal first amount information, which includes the amount information of goods or services purchased at the first store, and second amount information, which includes the amount information of goods or services purchased at the second store, based on information about the amount of goods or services purchased at the store that has been received and stored from multiple terminals. Then, by displaying the first amount information on the display unit 24 of terminal 20 in association with the first store, and displaying the second amount information on the display unit 24 of terminal 20 in association with the second store, the amount information can be made available to the terminal user for each store.

[0219] In this case, product price information (not limited to, but an example of, first price information) for goods or services of one store (not limited to, but an example of, first store) is transmitted to the server 10 by one terminal 20 (not limited to, but an example of, first terminal) included in the multiple terminals 20 reading a receipt issued at one store (not limited to, but an example of, first store). In addition, product price information (not limited to, but an example of, second price information) for goods or services of another store (not limited to, but an example of, second store) is transmitted to the server 10 by another terminal 20 (not limited to, but an example of, second terminal) included in the multiple terminals 20 reading a receipt issued at another store (not limited to, but an example of, second store). One example of the effects of this configuration is that, based on receipts issued at a store being read by multiple terminals, the amount information can be obtained on the server.

[0220] <Second variation (1)> In the above embodiment, the map image may be displayed on the display unit 24 of the terminal 20, and the product prices at each store may be displayed on the map image in association with each store.

[0221] Figures 2-3 and 2-4 show an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this modified example. The left side of Figure 2-3 corresponds to the screen on the right side of Figure 2-1, and here it shows the state after the user has performed an upward scroll operation on the product price information display area. As a result, the display shown on the right side of Figure 2-3 is displayed, not as an example but as an exception.

[0222] Specifically, based on the user's upward scrolling operation, information that was not displayed in the product price information display area on the left side of Figure 2-3 is displayed from below by the scroll control. In this example, below the area where price information for the product "〇× Yogurt" selected by the user at multiple stores is displayed on the center screen of Figure 2-1, a price trend graph is displayed for the product "〇× Yogurt," including the time series trend of the average price across all stores and the time series trend of the price at the selected "XX Mart JJ Store." In the price trend graph, the horizontal axis represents "Date," and the vertical axis represents "Product Price (yen)."

[0223] In this case, based on the product search information transmitted from terminal 20A, server 10 transmits to terminal 20A information on the price trends of the product selected by the user at the store selected by the user over a past set period (not limited to, for example, the past month). For example, server 10 transmits data associating dates with product prices to terminal 20A, or transmits the price trend graph described above to terminal 20A. Terminal 20A can then display the price trend graph described above on the display unit 24 based on the received information.

[0224] In addition to the above, the terminal 20A may also obtain information on the price trends of products with the same name at different stores from the server 10 and display it on the display unit 24. In this case, it is not limited to this, but for example, a single trend graph may be displayed showing the trend graphs for each store.

[0225] Alternatively, the terminal 20A may obtain information from the server 10 regarding the price trends of different products at different stores, even if the product name is the same (not limited to "yogurt," but for example), and display it on the display unit 24.

[0226] Below that, a "Show Map" button BT23 is displayed for displaying the map image on the display unit 24. When this "Show Map" button BT23 is tapped, the display shown on the left side of Figure 2-4 will appear, not as a limited example, but as an example.

[0227] In this example, a map image is displayed in almost the entire area of the area where the product price information display area was displayed. This map image can be displayed based on the calculated terminal position calculated based on the detection result of the position calculation information detection unit 29B, for example but not limited to.

[0228] Specifically, the latest calculated terminal position can be set as the current position (current location) of the estimated terminal 20 (user), and a map image can be displayed using this as the designated position. Specifically, a map image can be displayed with the designated position as the center (or a position slightly deviated from the center). In this example, the designated position is indicated by the mark MK21, and stores located within the display area of the map image are displayed by icon images.

[0229] Note that the designated position is not limited to the calculated terminal position. For example but not limited to, a map image can be displayed using any position specified by the user's scroll operation on the map image, any address input by the user, the user's current address registered in the account registration data, etc. as the designated position. That is, the designated position does not necessarily have to be the current position (estimated current position) of the terminal 20 (or the user).

[0230] Also, below the area where the map image is displayed, an area including the "Return to Store List Display" button BT25 for returning to the right screen of FIG. 2-3 is configured.

[0231] In the map image, balloons are displayed from the icon images of each store. Inside the balloons, a reduced icon image of the store, the store name, an image of the product (in this example, "〇× Yogurt"), and the product price at that store are displayed. Also, for the store with the lowest price (in this example, "XX Mart JJ Store"), a "Lowest Price" mark is displayed in association with the product price inside the balloon.

[0232] In this example, the range of the displayed map can be changed based on the control of the control unit 21 when the user performs a scroll operation on the map image. Furthermore, the map image can be enlarged or reduced based on the control of the control unit 21 when the user performs a pinch operation (pinch-out operation / pinch-in operation) on the map image.

[0233] Additionally, when a store icon displayed on the map image is tapped, detailed information about that store can be displayed. In this example, the left side of Figure 2-4 shows the state after tapping the icon image for "YY Supermarket JJ Store". In this case, the display shown on the right side of Figure 2-4 will appear, not as a limitation but as an example.

[0234] In the screen on the right side of Figure 2-4, the area including the selected "YY Supermarket JJ Store" is displayed in an enlarged view. Additionally, a store details display area SI21, containing detailed information about the selected "YY Supermarket JJ Store," is displayed superimposed on a portion of the map image. In this example, the store details display area SI21 displays the icon image and store name of "YY Supermarket JJ Store," along with multiple products included in the item "Yogurt" sold at this store, in a carousel format. There are also buttons with the text "Check Coupons" to display coupons available at "YY Supermarket JJ Store," and buttons with the text "Check Flyers" to display flyers for "YY Supermarket JJ Store."

[0235] In this modified example, the processing can be limited to storing map data in the memory unit 28 of terminal 20A, as an example.

[0236] Specifically, the control unit 21 of terminal 20A can display a map image on the display unit 24 based on the map data stored in the storage unit 28 and the latest calculated terminal position. In this case, terminal 20A transmits information about the calculated terminal position to the server 10 based on the input to display a map image.

[0237] In response, the server 10, based on the received information about the calculated terminal location, transmits information about stores (store name, store icon image, store location information, etc.) and information about the products at those stores (product name, product image, product price (including the lowest price), etc.) to the terminal 20A via the communication interface 14, for example, within a predetermined range such as a radius of 1 km from the calculated terminal location. The terminal 20A can then display the information as described above on the map image based on the received information.

[0238] Alternatively, the map data may be stored in the storage unit 15 of the server 10 instead of in the storage unit 28 of the terminal 20. Furthermore, the server 10 may transmit the map data to the terminal 20A in addition to the information described above.

[0239] Furthermore, when a scroll operation is performed on terminal 20A via the input / output unit 23, the control unit 21 of terminal 20A updates the display of the map image by changing the range of the map to be displayed based on the scroll direction and the amount of scrolling.

[0240] In this case, the control unit 21 of terminal 20A transmits information to the server 10, not limited to but as an example, about the display reference position on the map image based on scroll control (not limited to but as an example, the center position of the map image after scroll control or a position near it).

[0241] In response, the server 10, based on the received information about the display reference location, transmits information about stores (store name, store icon image, store location information, etc.) and information about the products at those stores (product name, product image, product price (including the lowest price), etc.) to the terminal 20A via the communication I / F 14, which are included within a predetermined range, such as within a 1km radius from the display reference location, not limited to these. The terminal 20A can then display the information as described above on the map image based on the received information.

[0242] In the above example, terminal 20A transmits the calculated terminal location information to server 10. However, as mentioned earlier, terminal 20A may also transmit the location information entered by the user of its own terminal 20 to server 10. In this case, the location entered by the user can be used as the specified location, and the map image can be displayed accordingly.

[0243] Furthermore, in addition to or instead of the trend graph, the display unit 24 of the terminal 20A may display information on the average price (average amount) of the product selected by the user at the store selected by the user over a past period (not limited to a specific period, but for example, the past month).

[0244] In this case, the server 10 calculates the average price of the product selected by the user at the store selected by the user over a specified past period, based on the product search information transmitted from the terminal 20A. The server 10 then transmits the calculated average price information to the terminal 20A, and the terminal 20A can display the received average price information on the display unit 24.

[0245] In addition, the terminal 20A may also obtain information on the average price of products with the same name at different stores from the server 10 and display it on the display unit 24.

[0246] In this modified example, the control unit 21 controls the target terminal 20 to display a map image on the display unit 24. The target terminal 20 displays one product price information (not limited, but an example of a first price) on the display unit 24 based on the location (not limited, but an example of a first location) of one store (not limited, but an example of a first store) on the map image, and displays other product price information (not limited, but an example of a second price) on the display unit 24 based on the location (not limited, but an example of a second location) of one store (not limited, but an example of a second store) on the map image. One example of the effects of this modified configuration is that price information can be displayed on a map image based on the store's location, making it easy to understand the relationship between the store's location and the price information, thereby improving user convenience.

[0247] In this case, the target terminal 20 transmits location information (not limited to, but an example of location information entered by the terminal's user) or calculated terminal location information (not limited to, but an example of location information related to the terminal's location) entered by the user of the terminal 20 to the server 10 via the communication I / F 22. The target terminal 20 then receives product price information based on the transmitted location information via the communication I / F 22. As an example of the effects of the modified configuration obtained with this setup, based on location information entered by the terminal user, or location information related to the terminal's location, it is possible to easily obtain first amount information for a first store based on that location information, and second amount information for a second store based on that location information.

[0248] In this case, the target terminal 20 can be controlled by the control unit 21 to display the store with the lowest price (not limited to, but an example of the first price information) on the display unit 24 in a different manner from other stores, if the price information for one product (not limited to, but an example of the first store) is the lowest price among the product price information displayed on the map image. As an example of the effect of the modified example obtained by such a configuration, when the information corresponding to the lowest price among the price information displayed on the map image is the first price information, the first price information can be notified to the user in an easy-to-understand manner.

[0249] In addition, in this modified example, the target terminal 20 transmits product search information including information on a single product or a single service input by the user of its own terminal 20 to the server 10 via the communication I / F 22. Then, based on the information on the single product or the single service, the target terminal 20 receives average price information (not limited, an example of the first average price information) including information on the average price when purchasing the single product or the single service at the single store via the communication I / F 22. And the target terminal 20 shows a configuration to display the received average price information on the display unit 24. As an example of the effect of the embodiment obtained by such a configuration, by transmitting information on a first product or a first service input by the user of the terminal to the server, the first average price information including information on the average price when purchasing the first product or the first service at the first store can be easily obtained. Also, by displaying the first average price information on the display unit, the average price can be notified to the user of the terminal.

[0250] In addition, in this modified example, the target terminal 20 transmits product search information including information on a single product or a single service input by the user of its own terminal 20 to the server 10 via the communication I / F 22. Then, based on the information on the single product or the single service, the target terminal 20 receives price transition information (not limited, an example of the first price transition information) including information on the price transition of the single product or the single service at the single store via the communication I / F 22. And the target terminal 20 shows a configuration to display the received price transition information on the display unit 24. As an example of the effects obtained by this configuration, by transmitting information about the first product or the first service entered by the terminal user to the server, first price trend information, including price trend information for the first store of the first product or first service, can be easily obtained. Furthermore, by displaying the first price trend information on the display unit, the price trend can be notified to the terminal user.

[0251] <Third Example> The third embodiment is an embodiment relating to the creation of a list that users refer to when shopping at a store (hereinafter referred to as the "shopping list") and the use of coupons.

[0252] The contents described in the third embodiment are applicable to any of the other embodiments or other modifications. Furthermore, components identical to those previously mentioned are given the same symbols, and their explanation is omitted.

[0253] <Data Structure> Figure 3-1 shows an example of the information stored in the storage unit 15 of the server 10 in this embodiment. The memory unit 15 stores, as mentioned above, the application management processing program 151, account registration data 153, store registration data 154, product price management database 155, and receipt information management database 157, as well as, but not limited to, an account management database 159.

[0254] Figure 3-2 shows an example of the data structure of product price management database 155B, which is an example of product price management database 155 in this embodiment. Each product price management data set includes, as mentioned above, the product ID, product name, lowest price, lowest price store ID, and store-specific product price data, as well as, not limited to, product coupon data, as an example.

[0255] Product coupon data is stored in association with the following information, not limited to specific examples: a coupon ID, which is identification information to uniquely identify the coupon; a target store ID, which identifies the store where the coupon can be used; coupon details, which describe the benefits of the coupon; and a coupon code, which is the code information of the coupon.

[0256] One possible approach is for stores that accept coupons to partner with shopping assistance service providers and offer coupon services through a shopping assistance application.

[0257] Alternatively, information about coupons that can be used uniformly at any store may be stored in the product coupon data. In this case, the store ID for that coupon can be omitted from the data. In addition to the information mentioned above, you may also set an expiration date for coupons and store that expiration date in the product coupon data.

[0258] The account management database 159 contains the management data for each account registered in the account registration data 153. An example of the data structure of account management database 159A is shown in Figure 3-3. The account management database 159A stores account management data as management data for each account.

[0259] Each account management data entry will store, for example, an application ID and shopping list data.

[0260] Shopping list data is data that users can refer to when they go to a store to shop. It is not limited to this, but for example, it stores associated information such as the planned purchase item ID, the planned purchase item name, the planned store ID, the planned purchase price, and the planned purchase quantity.

[0261] The "Planned Purchase Item ID" field stores the item ID of the product that the user of this application ID plans to purchase.

[0262] The "Planned Purchase Name" field stores the names of the products that the user with this application ID plans to purchase.

[0263] The "Planned Purchase Store ID" field stores the store ID of the store where the user of this application ID plans to purchase the product with the specified product name.

[0264] The planned purchase price will store the price of the product with the name of the product you intend to purchase.

[0265] The "Planned Purchase Quantity" field stores the number of times the user associated with this application ID plans to purchase the product with the specified name.

[0266] Furthermore, each account management data may be limited to storing only one shopping list, or it may be possible to store two or more shopping list data.

[0267] Furthermore, for each account management data, it may be possible to associate and store a purchased flag indicating that the product has been purchased, and a used flag indicating that the coupon for the product has been used, with the shopping list data.

[0268] <Display screen> Figure 3-4 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this embodiment. Figure 3-4 (left side) displays a price comparison screen similar to the one on the left side of Figure 2-1. However, in this example, the coupon display area at the bottom of the screen shows a coupon available to the user when purchasing "〇× Yogurt" at "XX Mart JJ Store".

[0269] Following the same process as in Figures 2-1 and 2-3, when "XX Mart JJ Store" and "〇× Yogurt" are selected on the screen in the center of Figure 3-4, a display like the one on the right of Figure 3-4 will be shown, not as a limited example, but as an example. This display corresponds to the display on the right of Figure 2-1, but with some differences.

[0270] Specifically, in the enlarged image of "XX Mart JJ Store" and "〇× Yogurt," the shopping list addition icon IC31, which allows you to add "〇× Yogurt" to your shopping list, is superimposed on the upper right corner. Furthermore, information is displayed indicating that this "〇× Yogurt" can be purchased at the lowest price of "198 yen" by using a coupon at "XX Mart JJ Store".

[0271] Furthermore, in the area below the product price information display area where a list of prices for "〇× Yogurt" from other stores is displayed, the same shopping list addition icon IC31 as described above is superimposed on the upper right corner of the image of "〇× Yogurt" displayed for each store.

[0272] As an example, not limited to specific cases, when the shopping list addition icon IC31, which is associated with the enlarged image of "XX Mart JJ Store" and "〇× Yogurt," is tapped, a screen like the one on the left in Figure 3-5 will be displayed.

[0273] This screen is the shopping list screen, displaying the shopping list below the product input area CI21 and the search button BT21. In this example, the shopping list displays information about items to be purchased at each store, and lists are shown for multiple stores, including "XX Mart JJ Store" and "YY Supermarket JJ Store." Since this shopping list displays items by store, it may also be called a "store-specific shopping list," etc.

[0274] On the shopping list screen, in the list displayed by store, each item you plan to purchase at that store is shown with its image, product name, price, and the number of items you plan to buy. A button to decrease the planned purchase quantity is displayed to the left of the planned purchase quantity, and a button to increase the planned purchase quantity is displayed to the right of the planned purchase quantity.

[0275] In the screen on the right side of Figure 3-4, the shopping list addition icon IC31, which is associated with the image of "〇× Yogurt" from "XX Mart JJ Store," was tapped, and "〇× Yogurt" was added to the list for "XX Mart JJ Store" and displayed. Also, as mentioned above, this "〇× Yogurt" can be purchased for the lowest price of "198 yen" by using a coupon at "XX Mart JJ Store," so the "Use Coupon" button BT31 for using the coupon is displayed.

[0276] Furthermore, as an example, not limited to specific items, the "Domestic Chicken Thigh (100g)" listed at "YY Super JJ Store" has a "Special Sale" mark indicating that it is a special sale item at "YY Super JJ Store," and its price is displayed as "98 yen."

[0277] As an example, not limited to this case, if the display area for "Domestic Chicken Thigh (100g)" is touched, and then dragged (slid) and dropped into the list for "XX Mart JJ Store," the display will look like the one on the right in Figure 3-5, not limited to this case.

[0278] Specifically, "Domestic Chicken Thigh (100g)" has been removed from the list of "YY Supermarket JJ Store" and added to the list of "XX Mart JJ Store." In other words, "Domestic Chicken Thigh (100g)" has been moved from the list of "YY Supermarket JJ Store" to the list of "XX Mart JJ Store."

[0279] Furthermore, "Domestic Chicken Thigh (100g)" is not a sale item at "XX Mart JJ Store," so the "sale" mark is not displayed associated with it. Also, since the price of "Domestic Chicken Thigh (100g)" at "XX Mart JJ Store" is "108 yen," "108 yen" is displayed instead of "98 yen."

[0280] Furthermore, on the shopping list screen, instead of limiting it to specific locations, you could, for example, display the total price of items included in the store's list (store-specific list) to the right of the store name. As an example, and not limited to specific examples, when the store icon or store name to the left of the store name is touched on the shopping list screen, the total price of all items added to the shopping list if purchased from that store could be temporarily displayed in a balloon.

[0281] More specifically, and not limited to a specific example, in the shopping list screen on the left side of Figure 3-5, the total price for purchasing all items included in the list at "XX Mart JJ Store" could be displayed to the right of "XX Mart JJ Store," for instance. The same applies to "YY Supermarket JJ Store."

[0282] Furthermore, as an example, and not limited to this, even without performing an operation to move items to other store lists (such as drag and drop) as shown in the center of Figure 3-5, if the store icon or store name of "XX Mart JJ Store" is touched on the screen in the center of Figure 3-5, the total amount of all items included in the shopping list purchased at "XX Mart JJ Store" may be displayed in a balloon. The balloon may be displayed as long as the touching finger or stylus is held down, and disappear when the finger or stylus is lifted from the screen. The same applies to "YY Super JJ Store". In other words, users could be temporarily shown the total cost of purchasing all items on their shopping list from each individual store. This would allow users to easily decide which store to buy items from, not just in specific cases, but for example, if they find it inconvenient to shop at multiple stores.

[0283] Furthermore, the above example, rather than being limited, could be designed so that the balloon display does not disappear even when the touching finger or stylus is lifted from the screen. In other words, it is not limited to displaying the total amount if all items in the shopping list were purchased at each store.

[0284] In the state shown on the right side of Figure 3-5, if the "Show Map" button BT23 displayed at the bottom is tapped (this is an example, not a limitation), a screen like the one on the left side of Figure 3-6 will be displayed.

[0285] This screen, like Figure 2-4, displays a map image, but the display differs from Figure 2-4. Specifically, on the map image, the total amount spent when shopping based on the shopping list corresponding to each store is displayed. In this example, the total amount spent when shopping based on the list corresponding to "XX Mart JJ Store" is "2,115 yen," which is displayed in a speech bubble from the icon image of "XX Mart JJ Store." Similarly, the total amount spent when shopping based on the list corresponding to "YY Super JJ Store" is "927 yen," which is displayed in a speech bubble from the icon image of "YY Super JJ Store."

[0286] In this example, the estimated walking time to each store from the designated location indicated by mark MK21 (hereinafter referred to as "walking time") is displayed in a speech bubble. Specifically, the walking time for "XX Mart JJ Store" is displayed as "3 minutes," and the walking time for "YY Supermarket JJ Store" is displayed as "7 minutes," both within the speech bubble.

[0287] In the left-hand screen of Figure 3-6, the area of ​​the "XX Mart JJ Store" bubble displaying the total amount has been tapped. In this case, the display will be as shown on the right-hand side of Figure 3-6, not as a limiting example but as an example. Specifically, the "XX Mart JJ Store" bubble expands, and the contents of the shopping list corresponding to "XX Mart JJ Store" are displayed within the bubble. At the bottom of the bubble, there is a "close" button to return the expanded display to its original display (the display of the bubble on the left side of Figure 3-6).

[0288] Figure 3-7 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this embodiment. The left side of Figure 3-7 corresponds to the right side of Figure 3-5, showing the state when the "Use Coupon" button BT31 is tapped. Then, as an example rather than a limited one, the screen shown in the center of Figure 3-7 is displayed. This screen is a coupon screen, and in addition to an image of "〇× Yogurt," the text "XX Mart JJ Store," and the text "〇× Yogurt," it shows, as an example (not limited to a specific product), that the benefit of the coupon is a "10 yen discount." Below that, a one-dimensional code (barcode), which is an example of the code information to use this coupon, is displayed.

[0289] Below that, information is displayed about coupons that can be used for products other than the "〇× Yogurt" mentioned above at "XX Mart JJ Store". Specifically, under "XX Mart JJ Store Other Coupons", in this example, information about a "20 yen discount" coupon for "Retort Curry" is displayed.

[0290] When user AA has the above one-dimensional code (barcode) scanned at the store's checkout counter, they can receive a "10 yen discount" on "〇× Yogurt," resulting in the lowest price of "198 yen." After that, when the "Return to Shopping List" button is tapped on the screen in the center of Figure 3-7, the screen on the right of Figure 3-7 is displayed.

[0291] This screen corresponds to the shopping list screen on the left side of Figure 3-7, but the display of the "Use Coupon" button BT31 associated with "〇× Yogurt" in the "XX Mart JJ Store" list is different from that on the left side of Figure 3-7, based on the fact that the coupon has been used. Specifically, in this example, the "Use Coupon" button BT31 changes to "Coupon Used" and is displayed in color (or grayed out, etc.). Since the coupon has been used, even if this button BT32, which has changed to "Coupon Used," is tapped, the screen in the center of Figure 3-7 will not be displayed, and the coupon cannot be used.

[0292] As shown in Figure 3-5, it is also possible to move items from one store's list to another store's list on the shopping list.

[0293] In this case, if you move an item from one store's list in your shopping list that has a coupon associated with it (not limited to that item, but for example, an item with the "Use Coupon" button BT31 displayed in association with it) to another store's list, and the destination store does not have a coupon associated with that item (i.e., the coupon cannot be used at the destination store), the "Use Coupon" button BT31 will not be displayed in association with that item in the destination store's list, and the regular price of the item at the destination store will be displayed instead.

[0294] On the other hand, if the destination store also has a coupon associated with that product, the "Use Coupon" button BT31 will be displayed in the destination store's list, associated with that product, and the product price with the coupon applied will be displayed.

[0295] <Processing> Figure 3-8 is a flowchart showing an example of the processing flow performed by each device in this embodiment, and is an example of processing when applying the processing shown in Figure 1-13. The process is similar when applying the method shown in Figure 1-11, so the illustration and explanation are omitted here. Furthermore, it is not mandatory for the user of terminal 20A to participate in the aggregation of receipt information. Therefore, steps A110 to A140 in terminal 20A and steps S110 to S130 in server 10 may be omitted, and only steps A210 onward may be executed.

[0296] Following A220, the control unit 21 of terminal 20A transmits shopping list addition information to the server 10 via the communication interface 22 (A310) based on the user's input to the input / output unit 23 for adding items to the shopping list. The shopping list addition information may include, but is not limited to, information such as the product ID corresponding to the item to be newly added to the shopping list, the store ID corresponding to the store where the item will be purchased, and the planned quantity of the item to be purchased, as entered by the user.

[0297] Furthermore, if you wish to change the store or quantity of items already included in your shopping list, you can submit the updated shopping list information, including the store ID corresponding to the new store and the new quantity, as entered by the user.

[0298] After S220, when the server 10 receives shopping list addition information from terminal 20A via the communication I / F 14, the control unit 11 of the server 10 performs the shopping list addition process (S310). Specifically, based on the product ID, store ID, and planned purchase quantity included in the received shopping list addition information, the control unit updates the shopping list data included in the account management data for user AA's application ID in the account management database 159A. The received product ID can be stored in the planned purchase product ID. The planned purchase product name can be stored in the product name name identified from the product price management data corresponding to this planned purchase product ID. The received store ID can be stored in the planned purchase store ID. The planned purchase price can be stored in the product price identified from the store-specific product price data in the product price management data corresponding to this planned purchase product ID. The received planned purchase quantity can be stored in the planned purchase quantity.

[0299] Next, the control unit 11 of the server 10 transmits the shopping list information (shopping list data) obtained as a result of processing S310 to the terminal 20A via the communication I / F 14 (S320).

[0300] The control unit 11 of the server 10 may also include coupon information and store information in the shopping list information and send it to the terminal 20A.

[0301] Subsequently, the control unit 11 of the server 10 determines whether or not to terminate the process (S330). If it determines to continue the process (S330: NO), it returns to S210. On the other hand, if it determines to terminate the process (S330: YES), the control unit 11 of the server 10 terminates the process.

[0302] After A310, when shopping list information is received from server 10 via communication I / F22, the control unit 21 of terminal 20A displays the received shopping list information on display unit 24 (A320).

[0303] Subsequently, the control unit 21 of terminal 20A determines whether or not to terminate the process (A330). If it determines to continue the process (A330: NO), it returns the process to A210. On the other hand, if it determines to terminate the process (A330: YES), the control unit 21 of terminal 20A terminates the process.

[0304] <Effects of the third embodiment> In this embodiment, when a user of the target terminal 20 selects a product from a store or a service from a store, the control unit 21 performs control (not limited to, but an example of control that includes the first product from the first store or the first service from the first store in the list) to send shopping list addition information to the server 10 via the communication I / F 22. The shopping list (not limited to, but an example of a shopping list) is configured to include price information (not limited to, but an example of first price information) for a product from a store or a service from a store. As an example of the effects of this configuration, the first product or service from the first store, selected by the terminal user, can be included in the list along with the price information for those products or services. While not an exhaustive example, by making this list accessible to the terminal user, it becomes possible to assist the user in their shopping and improve convenience.

[0305] <Third variation (1)> In the above embodiment, when the user actually makes a purchase based on the shopping list, they may be notified if they forget to buy an item.

[0306] Figure 3-9 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of the terminal 20A in this modified example. The left side of Figure 3-9 shows an example of the receipt scanning screen when a user of terminal 20A creates a shopping list and then makes purchases at a store according to that list. In this example, user AA has scanned the receipt obtained from the aforementioned "XX Mart JJ Store" using their terminal 20A. When the "Show Scan Results" button BT17 is tapped, the screen shown in the center of Figure 3-9 is displayed, not as an example but as an example.

[0307] This screen is an example of a receipt scanning result display screen, and the receipt information RC31 based on the scanned receipt is displayed from the top to the center of the screen. In this example, the receipt information RC31 for "Wednesday, August 25th" shows that at "XX Mart JJ Store" at "11:57," multiple items were purchased, including "〇× Yogurt" for "198 yen" and "Domestic Chicken Thigh Meat" for "398 yen," with a total purchase amount of "1,945 yen."

[0308] However, in this example, the forgotten item information FB31 is displayed below it. Specifically, the forgotten item information FB31 is displayed along with the words "Did you forget something?" and an image illustrating a forgotten item, as well as the words "Forgotten item detected" and the "Check on shopping list" button BT35. When the "Check on shopping list" button BT35 is tapped, the screen shown on the right side of Figure 3-9 is displayed, not as an example but as an example.

[0309] This screen is the shopping list screen corresponding to the right side of Figure 3-7. In this example, the mark MK31, which suggests a possible forgotten item, is displayed in association with "onions," an item included in the "XX Mart JJ Store" shopping list. In other words, this example indicates that, based on the receipt information above, the server 10 determined that user AA may have forgotten to buy "onions," which were included in the shopping list when shopping at "XX Mart JJ Store."

[0310] Figures 3-10 and 3-11 are flowcharts showing an example of the processing flow performed by each device in this modified example. If the termination condition in A330 determines that the process is complete (A330: YES), the control unit 21 of terminal 20A performs the receipt reading process (A340). In this step, user AA refers to the shopping list, makes purchases, and has terminal 20 read the receipt received at the store.

[0311] Next, the control unit 21 of terminal 20A transmits the receipt information corresponding to the receipt to the server 10 via the communication interface 22 (A350).

[0312] Furthermore, the processes executed by the control unit 21 in steps A340 and A350 can be the same as those in steps A110 and A120, respectively.

[0313] After determining that the process is complete in the termination determination in S330 (S330:YES), and receiving receipt information from terminal 20A via communication I / F14, the control unit 11 of server 10 performs receipt information analysis processing (S340). This process can be the same as the step in S110.

[0314] Next, the control unit 11 of the server 10 performs a receipt list comparison process (S350). Specifically, it compares and verifies the shopping list information in the shopping list data included in user AA's account management data with the receipt information analyzed in S340.

[0315] In this case, the control unit 11 of the server 10 may determine, not as an example but as an example: (a1) Were all the items purchased? Not limited to a specific item, but as an example, determine whether all the items with names stored in the shopping list data are included in the receipt information. (a2) Is the purchase quantity sufficient? As an example, not limited to a specific case, determine whether the purchase quantity identified from the receipt information for each item stored in the shopping list data is equal to or greater than the planned purchase quantity (planned purchase quantity ≤ actual purchase quantity). (a3) Was a coupon used? For example, not limited to specific products, a product that is discounted when a coupon is used (for example, a product that becomes the cheapest when a coupon is used, as shown in Figure 3-4 on the right) is evaluated to determine whether the purchase price identified from the receipt information matches the product price when the coupon is used.

[0316] (a1) is intended to determine if a user might accidentally forget to buy some items.

[0317] (a2) is intended to determine if a user may mistakenly purchase fewer items than the intended quantity. In this example, since users may purchase extra items as backups, we check whether "planned purchase quantity ≤ actual purchase quantity" is true.

[0318] (a3) is intended to determine if a user might accidentally purchase an item without using a coupon.

[0319] In addition to the above, you may also include whether or not the store where the product was purchased matches in the criteria above.

[0320] The control unit 11 of the server 10 can perform at least one of the above determinations. If the determination result is negative, the control unit 11 of the server 10 determines that there is a possibility of forgetting to buy something (forgotten item detection).

[0321] If a forgotten item is detected (S360: YES), the control unit 11 of the server 10 transmits the forgotten item information to the terminal 20A via the communication interface 14 (S370). Specifically, and not limited to, but as an example, the forgotten item information includes the name of the item determined to be forgotten, information indicating that the number purchased does not match the number purchased, information indicating that the number purchased is less than the number purchased, information on the number of missing items (number purchased - number purchased), information indicating that the coupon was not used, and the name of the item for which the coupon was not used, and transmits this information to the terminal 20A.

[0322] After S370, or if no forgotten purchases are detected (S360: NO), the control unit 11 of the server 10 performs receipt information aggregation processing (S380). This processing can be the same as the step in S120. Then, the control unit 11 of the server 10 terminates the process.

[0323] After A350, the control unit 21 of terminal 20A determines whether or not it has received forgotten purchase information from server 10 via the communication I / F 22 (A360). If it determines that it has received the information (A360: YES), it displays the received forgotten purchase information on the display unit 24 (A370). Then, the control unit 21 of terminal 20A terminates processing. If it is determined that no information about forgotten purchases has been received (A360:NO), the control unit 21 of terminal 20A terminates processing.

[0324] Furthermore, it's possible that a user might accidentally purchase more items than intended, even if they only planned to buy the exact number they wanted. Therefore, if it is determined in (a2) above that "Planned purchase quantity < Purchased quantity", information indicating that the purchased quantity does not match the planned purchase quantity, information indicating that the purchased quantity is greater than the planned purchase quantity, and information on the excess purchase quantity (Purchased quantity - Planned purchase quantity) may be sent to terminal 20A to inform the user of these.

[0325] This modified example shows a configuration in which the target terminal 20 displays information on the display unit 24 regarding forgotten purchases of goods or services, based on shopping list information (not limited to, but an example of a list) and receipt information. One example of the effects of this modified configuration is that it can inform the user of the possibility of forgetting to buy something, thereby improving user convenience.

[0326] <Third variation (2)> Server 10 analyzes and aggregates receipt information and sends time-limited sale information from the store to terminal 20. Terminal 20 may then display the received time-limited sale information on display unit 24.

[0327] As an example, not limited to any specific case, the control unit 11 of server 10 refers to the receipt information management database 157 and calculates the correlation between the receipt issuance date and time for each receipt issuing store ID and product ID. Then, if the price of a specific product has significantly decreased during a predetermined period (for example, a specific date (not limited to any specific case, the 1st of every month), a specific day of the week (not limited to any specific case, Thursday), or a specific time period (not limited to any specific case, "16:00-17:00"), the control unit 11 of server 10 can determine that the predetermined period is a time sale period for the specific product and issue time sale information.

[0328] Furthermore, if a significant decrease in the unit price of goods at a store is detected within a specified period from the current time (not limited to a specific time, but for example, within 30 minutes), there is a high possibility that a surprise sale is being held at that store, and therefore the control unit 11 of the server 10 can issue time sale information in real time.

[0329] Furthermore, if the receipt issued by the store where the product was purchased contains information about a limited-time sale, the user can provide information about the temporary sale to others based on the limited-time sale information contained in the receipt information they provided to server 10.

[0330] In this case, the server 10 may also send time sale information to the terminal 20 based on the user's attribute information (not limited to, but for example, gender, age (age group), preferences, etc.). The user's attribute information can be stored in the other registration information of the account registration data 153 (Figure 1-4), not limited to, but for example.

[0331] Specifically, as an example rather than a limiting one, time-limited sale information for products that men (women) are likely to purchase will be sent to the devices 20 of male (female) users. Also, based on the user's age group, time-limited sale information for products that users in that age group are likely to purchase will be sent to the devices 20 of users in that age group. Furthermore, based on the user's preferences, time-limited sale information for products that users with those preferences are likely to purchase will be sent to the devices 20 of users with those preferences. Furthermore, the system may determine which time-limited sale information to send to the user's terminal 20 based on two or more combinations of the user's attribute information.

[0332] The same approach can be used for coupon information as for the time-limited sale information mentioned above; coupon information can be sent to terminal 20 based on the user's attribute information.

[0333] Alternatively, using the opposite approach to the time-limited sale information mentioned above, coupon information for products that the user has purchased infrequently (or has not purchased often) could be sent to the user's device 20 based on their purchase history. The purpose of this is to encourage users to try products they might not normally buy by providing them with attractive offers. For example, instead of limiting it to specific users, you could send alcohol coupon information to the devices of users aged 20 or older (determined based on user attribute information (age or age group)) who do not purchase alcohol very often.

[0334] Furthermore, the same approach can be applied to time-limited sale information as with the coupon information mentioned above; time-limited sale information for products that users don't frequently purchase may be sent to the user's device 20.

[0335] <Fourth Example> The fourth embodiment is an embodiment that enables the bulk addition of items to the shopping list mentioned above.

[0336] The contents described in the fourth embodiment are applicable to any of the other embodiments or any of the other modifications. Furthermore, components identical to those previously mentioned are given the same symbols, and their explanation is omitted.

[0337] <Display screen> Figure 4-1 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this embodiment. Figure 4-1, on the left, shows an example of a shopping list screen. This example illustrates a method of adding items to the shopping list in bulk based on a recipe used when cooking.

[0338] On this screen, below the in-app location display area, there is a recipe input area RI41 for entering information about the recipe to search for, and a search button BT41 for performing a search based on the entered information.

[0339] In this example, the word "curry" has been entered into the recipe input area RI41, the search button BT41 has been tapped, and the search results are displayed. Specifically, below the mark containing the words "Search from recipes," multiple search results related to "curry," including "pork curry" and "butter chicken curry," are displayed in this example.

[0340] As an example, not limited to specific options, tapping the "Butter Chicken Curry" display area will show the screen shown in the center of Figure 4-1. This screen is the recipe details screen, which displays detailed information about the "Butter Chicken Curry" recipe. In this example, the ingredients for making "Butter Chicken Curry" for "4 people" (400g chicken thighs, 2 onions, 1 can of diced tomatoes, 100g yogurt, etc.) are displayed, and below that, the instructions for making it are shown.

[0341] In this example, the aforementioned shopping list addition icon IC31 is displayed near the area where the materials are shown. When this shopping list addition icon IC31 is tapped, the screen shown on the right side of Figure 4-1 is displayed (this is not a specific example, but an example).

[0342] This screen is the shopping list screen, and the ingredients for "Butter Chicken Curry" that were displayed on the left side of Figure 4-1 and in the center of Figure 4-1 have been automatically added to the shopping list and are displayed. Specifically, in this example, "Domestic Chicken Thigh (100g)" has been added to the list as an example of a chicken thigh product that can be purchased at the store, and the quantity "4" has been automatically entered. Similarly, "Onion" has been added to the list, and the quantity "2" has been automatically entered, "Canned Tomatoes" has been added to the list, and the quantity "1" has been automatically entered, and "〇× Yogurt" has been automatically entered as an example of a yogurt product that can be purchased at the store. In this example, since user AA had previously purchased "〇× Yogurt," "〇× Yogurt" was automatically selected and entered based on user AA's purchase history.

[0343] The shopping list displayed on this shopping list screen is a temporary list that is still under construction and does not have any associated stores. For convenience, I'll refer to this shopping list as the "Shopping List in Progress."

[0344] Furthermore, the system is configured so that you can change the planned purchase quantity by tapping the increase / decrease buttons associated with each product. If you want to use a different quantity than the one listed in the searched recipe, you can adjust the quantity by tapping the increase / decrease buttons to change the planned purchase quantity.

[0345] When the "Show Map" button BT23 is tapped on the screen on the right side of Figure 4-1, the screen on the left side of Figure 4-2 is displayed (this is an example, not a limiting view). In this example, a map image is displayed, similar to the left side of Figure 3-6, and the total amount to be spent on the items included in the shopping list is shown, associated with each store. In this example, a "Buy at this store" button is provided within a speech bubble from the icon image of each store, allowing the user to select the items included in the shopping list to be purchased at that store.

[0346] The screen on the left in Figure 4-2 shows the state after tapping the "Buy at this store" button in the speech bubble for "YY Supermarket JJ Store." In this case, the screen in the center of Figure 4-2 is displayed as an example, not a limited one.

[0347] This screen is the shopping list screen, and the items included in the shopping list on the right side of Figure 4-1, such as "Domestic Chicken Thigh (100g)", "Onions", "Canned Tomatoes", and "〇× Yogurt", are displayed associated with the selected "YY Supermarket JJ Store". In other words, when the right side of Figure 4-1 was displayed, no store was associated with the shopping list, but based on the selection of the store (YY Supermarket JJ Store) on the left side of Figure 4-2, the selected "YY Supermarket JJ Store" is associated with the shopping list on the center side of Figure 4-2, and is displayed as a list for "YY Supermarket JJ Store".

[0348] Furthermore, based on the product prices at "YY Super JJ Store," the prices displayed are "98 yen" for one 100g of "Domestic Chicken Thigh," "77 yen" for one onion, "198 yen" for one can of tomatoes, and "218 yen" for one container of "〇× Yogurt." Of these, "Domestic Chicken Thigh (100g)" is a special sale item at "YY Super JJ Store," so it is displayed with a "Special Sale" mark. Also, the planned purchase quantity displayed on the right side of Figure 4-1 is similarly displayed on this screen.

[0349] In this example, the "〇× Yogurt" display area is tapped and selected. In this case, the screen shown on the right side of Figure 4-2 is displayed, not as a limitation but as an example. This screen is a price comparison screen that displays information about the selected "〇× Yogurt." As mentioned earlier, the product price information display area shows the store name "YY Super JJ Store," along with an enlarged image of the selected "〇× Yogurt," the product name, and the price at this store (in this example, "218 yen").

[0350] Additionally, the price list area at the bottom displays information including the prices of "〇× Yogurt" at several other stores. In this example, the lowest price for "〇× Yogurt" is shown at "XX Mart JJ Store" (198 yen in this example).

[0351] Here, user AA might want to buy "〇× Yogurt" at the lowest price. In this case, if the shopping list addition icon IC31, which is displayed in the frame showing information about "〇× Yogurt" associated with "XX Mart JJ Store," is tapped and selected, the selected "〇× Yogurt" will be added to the "XX Mart JJ Store" list in the shopping list.

[0352] In this case, as an example rather than a limitation, it is possible to display a list of "XX Mart JJ Store" which includes "〇× Yogurt" below the list of "YY Supermarket JJ Store" on the shopping list screen in the center of Figure 4-2. Then, it is possible to remove "〇× Yogurt" from the list of "YY Supermarket JJ Store" on the shopping list screen in the center of Figure 4-2. Alternatively, you may choose not to remove "〇× Yogurt" from the list for "YY Supermarket JJ Store".

[0353] Furthermore, unlike the example above, for stores other than "YY Supermarket JJ Store" displayed on the map image on the left side of Figure 4-2, a list similar to that of "YY Supermarket JJ Store" on the central screen of Figure 4-2 may be displayed below the list for "YY Supermarket JJ Store". Also, in this case, it is not limited to displaying the list in order of proximity (shortest walking time) from the specified location, or not.

[0354] <Processing> Figure 4-3 is a flowchart showing an example of the processing flow performed by each device in this embodiment, and is an example of processing when applying the processing shown in Figure 1-13. The process is similar when applying the method shown in Figure 1-11, so the illustration and explanation are omitted here. Furthermore, it is not mandatory for the user of terminal 20A to participate in the aggregation of receipt information. Therefore, steps A110 to A140 in terminal 20A and steps S110 to S130 in server 10 may be omitted, and only steps A210 onward may be executed.

[0355] After A220, the control unit 21 of terminal 20A sends bulk shopping list addition information to the server 10 via the communication I / F 22 (A410) to add the items to the shopping list all at once (in this example, the "Shopping List Under Construction" which does not have any associated stores).

[0356] Specifically, not as an example but as an example, (b1) Products selected by the user without specifying a store (b2) Ingredients for the recipe selected by the user The system can send bulk shopping list addition information, including the product ID and planned purchase quantity of products corresponding to at least one of the following, to the server 10.

[0357] (b1) is not limited to this, but as an example, if one or more items are selected from the items that are not associated with a store and are displayed as "frequently purchased items" on the price comparison screen on the left side of Figure 3-4, then bulk shopping list addition information can be sent to the server 10.

[0358] However, this is not the only example; for instance, when the shopping list addition icon IC31 corresponding to a product displayed in association with a store on the price comparison screen in the center or right side of Figure 3-4 is tapped, information is displayed to the user asking whether or not to include that product in the store's list. If the user does not choose to include it in the store's list, information is sent to the server 10 to add the product to the shopping list being constructed.

[0359] Furthermore, when sending bulk shopping list addition information based on a recipe, the control unit 21 of terminal 20A can receive and display recipe information from server 10 based on user input before processing A410.

[0360] After S220, the control unit 11 of the server 10 performs a bulk shopping list addition process (S410). Specifically, based on the product ID and planned purchase quantity included in the received bulk shopping list addition information, it updates the shopping list data included in the account management data for user AA's application ID in the account management database 159A. The received product ID can be stored in the planned purchase product ID. The planned purchase product name can be stored in the planned purchase product name, which can be identified from the product price management data corresponding to this planned purchase product ID. The received planned purchase quantity can be stored in the planned purchase quantity.

[0361] Furthermore, since this is a shopping list under construction and no stores are associated with it, the planned store ID can be set to "NULL". Also, since no stores are associated and the product price cannot be uniquely identified, the planned purchase price can also be set to "NULL".

[0362] Next, the control unit 11 of the server 10 designates the shopping list obtained as a result of processing in S410 as the shopping list under construction and transmits this information, the shopping list under construction information, to the terminal 20A via the communication interface 14 (S420).

[0363] Although it is not possible to uniquely identify the planned purchase price, as shown in the "〇× Yogurt" column on the right side of the display screen in Figure 4-1, information such as the past purchase price of the product by user AA (not limited to, but as an example, the price of the previous purchase) or the average price obtained by averaging the product prices stored in the product price data for each store, may be included in the shopping list information being built and sent to terminal 20A.

[0364] When the terminal 20A receives shopping list information being constructed from the server 10 via the communication interface 22, the control unit 21 of the terminal 20A displays the received shopping list information on the display unit 24 (A420). One example of this is the information displayed on the screen on the right side of Figure 4-1.

[0365] After S420, the control unit 11 of the server 10 calculates the total amount for purchasing all items included in the shopping list information being built, store by store, and transmits this information to the terminal 20A via the communication interface 14 (S430).

[0366] When the terminal 20A receives store-specific price information from the server 10 via the communication interface 22, the control unit 21 of the terminal 20A displays the received store-specific price information on the display unit 24 (A430). One example of this is the information displayed on the screen on the left side of Figure 4-2.

[0367] Subsequently, the control unit 21 of terminal 20A transmits purchase store information, including the store ID corresponding to the selected store, to the server 10 via the communication interface 22, based on the input from the user via the input / output unit 23 to select a store (A440).

[0368] After S430, when the server 10 receives purchase store information from terminal 20A via the communication I / F 14, the control unit 11 of the server 10 performs a shopping list update process (S440). Specifically, it stores and updates the planned purchase store ID in the shopping list data with the store ID included in the received purchase store information. It also stores and updates the planned purchase price in the shopping list data with the price of the planned purchase item at that store.

[0369] Next, the control unit 11 of the server 10 transmits the shopping list information obtained in S440 to the terminal 20A via the communication interface 14 (S450). Then, the control unit 11 of the server 10 terminates processing.

[0370] When the terminal 20A receives shopping list information from the server 10 via the communication interface 22, the control unit 21 of the terminal 20A displays the received shopping list information on the display unit 24 (A450). This example can be the information displayed on the screen in the center of Figure 4-2. Then, the control unit 21 of the terminal 20A terminates the process.

[0371] <Effects of the 4th embodiment> In this embodiment, when a user of the target terminal 20 selects a recipe (not limited to, but an example of a first recipe), the control unit 21 controls the inclusion of the selected ingredients into a shopping list (not limited to, but an example of a list). The target terminal 20 then displays the total price information of the ingredients included in the shopping list on the display unit 24 for each store. As an example of the effects of this configuration, based on the selection of the first recipe by the terminal user, the ingredients for the first recipe can be included in the list, and the total cost information of the ingredients included in that list can be displayed for each store and communicated to the user.

[0372] Furthermore, in this embodiment, when a user of the target terminal 20 selects a recipe (not limited to, but an example of a first recipe), the control unit 21 controls the inclusion of those ingredients in a shopping list (not limited to, but an example of a list). The target terminal 20 then displays information (not limited to, but an example of information regarding stores where the ingredients included in the list can be purchased) on the display unit 24 for selecting or allocating the stores where the ingredients included in the shopping list can be purchased. As an example of the effects of this configuration, based on the selection of a first recipe by the terminal user, the ingredients for the first recipe are added to a list, and information about stores where those ingredients can be purchased is provided to the user or made available for use.

[0373] <Fourth variation (1)> In the above embodiment, information regarding the purchase of items included in the shopping list being built may be suggested to the user.

[0374] Figure 4-4 shows an example of the shopping assistance application screen displayed on the display unit 24 of terminal 20A in this modified example. Here, we illustrate the shopping screen when the products corresponding to the ingredients of the recipe shown on the right side of Figure 4-1 are added all at once to the shopping list being built.

[0375] The left side of Figure 4-4 is the same screen as the left side of Figure 4-2, but the display is slightly different. Specifically, a "Calculate Shopping Spree" button BT43 is displayed at the top of the map image display area for performing calculations related to shopping sprees. When this "Calculate Shopping Spree" button BT43 is tapped, a display similar to the one on the right side of Figure 4-4 is shown (not limited to this example).

[0376] Specifically, route setting information RS41 for setting shopping routes is displayed in the center of the map image display area. This route setting information RS41 includes, but is not limited to, information on price-priority routes for shopping with price as the priority, information on efficiency-priority routes for shopping with efficiency as the priority, and information on balance-priority routes for shopping with balance as the priority.

[0377] A price-prioritized route is not limited to a specific example, but can be defined as a route that prioritizes the price of the items purchased, or, not limited to a specific example, a route that minimizes the total cost when purchasing items included in the shopping list being built.

[0378] An efficiency-prioritizing route is not limited to a specific example, but rather refers to a route that prioritizes efficiency in terms of time, distance, etc., when making purchases. For example, it could be the route that minimizes the time and distance required to purchase the items included in the shopping list being built.

[0379] The balance-first route is not limited to a specific approach; for example, it can be a compromise route between the price-first route and the efficiency-first route.

[0380] Figure 4-4 on the right shows the "Balanced Route" among these routes being tapped and selected. In this case, the screen on the left of Figure 4-5 is displayed, not as a limitation but as an example.

[0381] In the left-hand screen of Figure 4-5, the balance-prioritized route is displayed on the map image based on the calculation results of the balance-prioritized route. Specifically, as an example rather than an exhaustive one, information about a route is displayed superimposed on the map image, along with the words "Balance Prioritized," indicating a 3-minute walk from the designated location marked MK21 to "XX Mart JJ Store," and then a 10-minute walk from "XX Mart JJ Store" to "YY Supermarket JJ Store." This route is also displayed in color on the map image.

[0382] Additionally, the subtotal amount of "618 yen" for items purchased at "XX Mart JJ Store" is displayed in the "XX Mart JJ Store" bubble, and the subtotal amount of "714 yen" for items purchased at "YY Supermarket JJ Store" is displayed in the "YY Supermarket JJ Store" bubble. Adding these amounts together gives "1,332 yen," which corresponds to the amount of "1,332 yen" for the balance priority route shown on the right side of Figure 4-4.

[0383] As an example, not limited to this, if the "XX Mart JJ Store" bubble is tapped, the screen shown in the center of Figure 4-5 will be displayed. In this example, information about the products that can be purchased at "XX Mart JJ Store" if this route is taken is displayed in a separate bubble from the "XX Mart JJ Store" icon image. Although not shown in the diagram, tapping the "YY Supermarket JJ Store" bubble will display information about the products you would purchase at "YY Supermarket JJ Store" if you choose this route.

[0384] At the bottom of the map image, there is a "Choose this route" button BT45 to select the proposed route. When tapped, the screen shown on the right side of Figure 4-5 will appear, not as a limited example, but as an illustration. This screen displays a shopping list where items included in the shopping list being built are sorted by store based on the applied route. Since the shopping order is "XX Mart JJ Store" → "YY Supermarket JJ Store," the list for "XX Mart JJ Store" is displayed at the top, followed by the list for "YY Supermarket JJ Store" below it, to match this order. Displaying the list in an order that matches the route in this way makes it easy for the user to understand.

[0385] Here, we will explain the calculation method using the balance-prioritizing route mentioned above as an example. As an example, rather than a limiting one, please enter the following information. (I1) Shopping list information under construction (I2) Information of the specified location (I3) Location information of each store

[0386] Based on the entered information, the system determines the user's shopping range (hereinafter referred to as the "shopping range") to be an area within a set distance from a specified location (for example, within a radius of 1 km) or an area within a set time that the user can reach on foot from a specified location (for example, within a 10-minute walk). Stores located within the determined shopping range are then designated as potential shopping locations (hereinafter referred to as "potential shopping locations").

[0387] Furthermore, the user of terminal 20 may be allowed to set information for defining the range within which shopping is permitted (not necessarily limited, but for example, the set distance or set time mentioned above). In other words, each user may be able to independently set the range within which shopping is permitted on their own terminal 20.

[0388] Next, we determine the combinations of potential stores for shopping, and for each of these combinations, we calculate the shopping cost C based on the following two values, not as an example but as a limited set of examples. (J1) Total purchase amount when purchasing items included in the shopping list under construction at the lowest price of the candidate stores included in that combination (J2) The time required to walk to all the potential stores included in the combination, starting from the designated location.

[0389] The time required for (J2) is not limited; for example, the minimum required time can be calculated using dynamic programming (for example, Dijkstra's algorithm).

[0390] The shopping cost C is formulated as follows, not as a limiting example, but as shown in equation (1): Shopping Cost C = Total Purchase Amount + Time Required × Time Cost Parameter ... (1)

[0391] I will explain in detail. As an example, and not limited to specific locations, let's assume that three stores, "Store A," "Store B," and "Store C," are selected as potential stores for a shopping trip. Also, in this example, let's assume that "Store B" and "Store C" are located in the same direction from the designated location.

[0392] In this case, there are seven possible combinations of these three stores: "Store A", "Store B", "Store C", "Store A & Store B", "Store B & Store C", "Store A & Store C", and "Store A & Store B & Store C". For these seven combinations, let's assume, as an example rather than an exhaustive list, that the total purchase amount and time required were calculated as follows. "Store A": Total purchase amount "11,750 yen", time taken "7 minutes" "Store B": Total purchase amount "12,210 yen", time taken "6 minutes" "Store C": Total purchase amount "9,880 yen", time taken "10 minutes" "Store A & Store B": Total purchase amount "11,960 yen", time taken "18 minutes" "Store B & Store C": Total purchase amount "9,470 yen", time taken "11 minutes" "Store A & Store C": Total purchase amount "9,620 yen", time taken "24 minutes" "Store A, Store B, and Store C": Total purchase amount "9,390 yen", time taken "35 minutes"

[0393] Let's set the time cost parameter to "50" as an example, rather than limiting it, to find a value of 50 yen per minute of time spent. In this case, calculating the shopping cost C according to equation (1) yields the following result. "Store A": Shopping Cost C "12100" "Store B": Shopping Cost C "12510" "Store C": Shopping Cost C "10380" "Store A & Store B": Shopping Cost C "12860" "Store B & Store C": Shopping Cost C "10020" "Store A & Store C": Shopping Cost C "10820" "Store A & Store B & Store C": Shopping Cost C "11140"

[0394] From the shopping cost C calculated for each combination of potential shopping locations, the combination of potential shopping locations that minimizes the shopping cost C is found and output. In the example above, the combination of potential shopping locations that minimizes the shopping cost C is "Store B & Store C". As a result, the route "Store B & Store C" is output as the result of the balance priority route calculation.

[0395] Note that in equation (1), the required time was multiplied by the time cost parameter, but the same calculation can also be performed by multiplying the total purchase amount by the monetary cost parameter. Alternatively, the total purchase amount and the time taken may each be multiplied by a cost parameter, and the shopping cost C may be calculated by non-dimensionalizing (J1) and (J2).

[0396] Conceptually, in the example above, considering efficiency (time efficiency, travel efficiency), the store closest to the specified location among "Store A," "Store B," and "Store C" will have the shortest travel time to (J2) (in the example above, "Store B" takes "6 minutes"). However, purchasing all items included in the shopping list being built at "Store B" does not necessarily result in the lowest total cost. Therefore, as described above, the shopping cost C is calculated by considering the travel time and the total purchase amount, and the combination of candidate stores for shopping that minimizes this cost is found.

[0397] Here, we have illustrated the balance-first route, but for the price-first route, we just need to find the combination of candidate stores that minimizes the value of (J1). In other words, we just need to use the total purchase amount as the shopping cost C to find the combination of candidate stores.

[0398] Furthermore, in the efficiency-prioritizing route, we only need to find the combination of candidate stores that minimizes the value of (J2). In other words, we can find the combination of candidate stores by using the time required as the shopping cost C.

[0399] While I have shown specific examples of methods for calculating the square root, these are merely illustrative examples and are not the only methods that can be used.

[0400] Furthermore, the above points may be applied similarly not only to purchases of products, but also to purchases of services. Furthermore, the above provisions may also be applied to combinations of goods and services purchased together.

[0401] Furthermore, while we have shown an example of calculating and proposing a square root here, this is not the only example. Instead of calculating and suggesting a route, or in addition to doing so, the control unit 11 of the server 10 may send information to the terminal 20 that does not indicate a route or purchase order, based on the shopping list information being constructed, for example, but not limited to, "Purchase product X at store A, purchase product Y at store B, ..."

[0402] Additionally, it is optional to display at least one of the three routes mentioned above: the price-priority route, the efficiency-priority route, and the balance-priority route; displaying all of them is not required.

[0403] Alternatively, instead of the control unit 11 of the server 10 performing the above processing (calculation), the terminal 20 may obtain the information necessary for the processing from the server 10, and then the control unit 21 of the terminal 20 may perform the processing.

[0404] Furthermore, the above processing (calculation) may be applied not only to the ingredients of the recipes described above, but also to products that have been arbitrarily selected by the user and added to the shopping list being built.

[0405] Figure 4-6 is a flowchart showing an example of the processing flow performed by each device in this modified example. After A220 in Figure 4-3, the control unit 21 of terminal 20A determines via the input / output unit 23 whether or not input has been made by the user to add products without specifying a store (A405). If it is determined that input has been made to add products with a specified store (A405: NO), the control unit 21 of terminal 20A moves the processing to A310 in Figure 3-8, not as an example but as an extension of this. On the other hand, if it is determined that input has been made to add products without specifying a store (A405: YES), the control unit 21 of terminal 20A proceeds to process A410.

[0406] In A410, as with A410 in Figure 4-3, it is an example rather than a limitation. (b1) Products selected by the user without specifying a store (b2) Ingredients for the recipe selected by the user The system can send bulk shopping list addition information, including the product ID and planned purchase quantity of products corresponding to at least one of the following, to the server 10.

[0407] (b1) is not limited to this, but as an example, if one or more items are selected from the items that are not associated with a store and are displayed as "frequently purchased items" on the price comparison screen on the left side of Figure 3-4, then bulk shopping list addition information can be sent to the server 10.

[0408] However, this is not the only example; for instance, when the shopping list addition icon IC31 corresponding to a product displayed in association with a store on the price comparison screen in the center or right side of Figure 3-4 is tapped, information is displayed to the user asking whether or not to include that product in the store's list. If the user does not choose to include it in the store's list, information is sent to the server 10 to add the product to the shopping list being constructed.

[0409] Following A430, the control unit 21 of terminal 20A sends shopping route calculation request information to the server 10 via the communication I / F 22 (A431), based on the input of a request for shopping route calculation by the user, not limited to, but as an example. This example is based on the tapping of the "Calculate Shopping Route" button BT43 on the screen on the left side of Figure 4-4.

[0410] When the server 10 receives a request for a shopping route calculation from terminal 20A via the communication interface 14, the control unit 11 of the server 10 performs the shopping route calculation process (S431). Specifically, and not limited to, but as an example, it performs the above calculation for one or more types of shopping routes proposed to the user. Then, the control unit 11 of the server 10 transmits the shopping route calculation results, including the calculation results, to terminal 20A via the communication interface 14 (S433).

[0411] When the terminal 20A receives the shopping route calculation result from the server 10 via the communication interface 22, the control unit 21 of the terminal 20A displays the received shopping route calculation result on the display unit 24 (A433). This example corresponds to the screen on the right side of Figure 4-4.

[0412] Next, the control unit 21 of terminal 20A transmits shopping route selection information, including the shopping route selected by the user, to the server 10 via the communication interface 22 (A435). In response, the control unit 11 of the server 10 transmits detailed shopping route information, including detailed information about the shopping route, to the terminal 20A via the communication interface 14 (S435). Then, the control unit 11 of the server 10 proceeds to processing in S440.

[0413] When the terminal 20A receives detailed shopping route information from the server 10 via the communication interface 22, the control unit 21 of the terminal 20A displays the received detailed shopping route information on the display unit 24 (A437). This example corresponds to the screen on the left side of Figure 4-5.

[0414] Subsequently, the control unit 21 of terminal 20A transmits the shopping route confirmation information to the server 10 via the communication interface 22, based on the user's input to confirm the shopping route (A439). This example is based on the tapping of the "Use this route" button BT45 on the screen in the center of Figure 4-5. Then, the control unit 21 of terminal 20A proceeds to process A450.

[0415] In this modified configuration, when a user of the target terminal 20 selects a recipe (not limited to, but an example of a first recipe), the control unit 21 controls the inclusion of the selected ingredients into the shopping list (not limited to, but an example of a list). The target terminal 20 then displays information on the display unit 24 regarding the stores where the ingredients included in the shopping list can be purchased. One example of the effects of this modified configuration is that, based on the selection of the first recipe by the terminal user, the ingredients for the first recipe can be included in the list, and the user can then be informed of the stores where those ingredients can be purchased.

[0416] In this case, the information about stores where the materials included in the shopping list being built can be purchased (not limited to these stores, but an example of information about stores where the materials included in the list can be purchased) can include information that displays the route (path) of purchasing the materials included in the shopping list being built from the stores on a map image. One example of the effects of this modification is that by displaying the route to purchase the listed ingredients from stores on a map image, users can quickly understand the steps to take to purchase the ingredients, thereby improving user convenience.

[0417] Furthermore, in this modified configuration, a server 10 that communicates with multiple terminals 20 receives receipt information (not limited to, but an example of information regarding the amount of goods or services purchased at a store) from the multiple terminals 20 via a communication interface 14. The server 10 also stores the receipt information transmitted from the multiple terminals 20 in a storage unit 15. The server 10 also receives information from the target terminal 20 via the communication interface 14 regarding multiple goods or services selected by the user as goods or services to be purchased. Based on the receipt information received from the multiple terminals 20, the server 10 transmits information to the target terminal 20 via the communication interface 14 regarding the stores where the multiple goods or services corresponding to the information received from the target terminal 20 will be purchased. One example of the effects of this modified configuration is that, based on information received and stored from multiple terminals regarding the amount of goods or services purchased at stores, information about multiple stores or stores where multiple services are purchased can be transmitted to the terminals and notified to the terminal users.

[0418] In this case, the information about stores that purchase multiple products or services corresponding to the information received from the target terminal 20 may also include information about the route (path) to purchase multiple products or services (not limited to, but an example of information about the route to purchase multiple products or services). One example of the effects of this modified configuration is that by sending information about the path to purchasing multiple products or services to the terminal, the user can be informed of the steps required to purchase those products or services.

[0419] <Fourth variation (2)> In the above embodiment, all or part of the one or more routes proposed to the user of terminal 20 may be subdivided. Some users may find it troublesome to shop at many different stores and prefer to shop at as few stores as possible.

[0420] Therefore, as an example rather than a limiting one, choose at least one of the aforementioned routes such as the price-prioritizing route, efficiency-prioritizing route, or balance-prioritizing route. (R1) A route that does not limit the number of potential stores for shopping (same as the example above) (R2) A route that keeps the number of potential stores to shop at to a reasonable level. (R3) A route that minimizes the number of potential stores to shop at. The route is subdivided into multiple routes, such as the one described above. Then, when one of the three routes is selected, the subdivided routes for that route may be displayed and suggested.

[0421] If route (R2) is selected, the control unit 11 of server 10 calculates the number of stores to shop at (hereinafter referred to as "number of shopping stores") by first setting a percentage (30% to 50% as an example, not limited to) of the total number of candidate shopping stores. Then, it can find all combinations of the calculated number of shopping stores from among the candidate shopping stores and find the combination that minimizes the total amount spent when purchasing goods.

[0422] If route (R3) is selected, the control unit 11 of server 10 calculates the number of stores to shop at as follows: the second set percentage (60% to 80%, not limited to this, as an example) of the total number of candidate stores to shop at. Then, it can find all combinations of the calculated number of candidate stores to shop at and find the combination that minimizes the total amount spent when purchasing goods.

[0423] Furthermore, some users may want to differentiate the stores they shop at depending on the product category (food, daily necessities, kitchen supplies, etc.). For example, they might want to buy food at a supermarket, but daily necessities and kitchen supplies at a drugstore. Therefore, it might be a good idea to suggest routes based on the product category.

[0424] In this case, rather than being limited, as an example, the store category (supermarket, drugstore, convenience store, etc.) is stored in the "Other Registration Information" section of the store registration data 154 (Figure 1-5).

[0425] Figure 4-7 shows an example of the data structure of product price management database 155C, which is an example of product price management database 155 in this modified example. Each product price management data entry also includes, as an example rather than a limiting one, the product category. The control unit 11 of the server 10 can store the corresponding product category (food, daily necessities, kitchenware, etc.) by classifying the product based on the product identification code, product name, etc.

[0426] Figure 4-8 shows an example of the data structure of account management database 159B, which is an example of account management database 159 in this modified example. Each account management data entry also includes, as an example rather than a fixed set of data, category association settings. The category association settings data includes, but is not limited to, examples, the association between product categories and store categories.

[0427] As an example, and not limited to this, a user of terminal 20 may be able to configure settings related to the association between product categories and store categories on a settings screen (not shown) of the shopping assistance application. The control unit 21 of terminal 20 then sends the setting information regarding the association between product categories and store categories (hereinafter referred to as "category association setting information") entered by the user to the server 10. The control unit 11 of the server 10 can then store the received category association setting information as the category association setting data in the account management data for the application ID of the user of terminal 20 in the account management database 159B.

[0428] In this case, when the control unit 11 of the server 10 creates a list that will become the shopping list being constructed in the batch processing of the shopping list in step S410 of Figure 4-3 or Figure 4-6, it stores the product category of each product in association with that product.

[0429] Furthermore, when calculating the shopping route in step S431 of Figure 4-6, the control unit 11 of the server 10 can refer to the category association setting data included in the user account management data of the terminal 20 from the account management database 159B, and perform the aforementioned route calculation so that for each product included in the shopping list being built, stores in the store category corresponding to the product category of that product are selected as candidate stores for shopping around.

[0430] <Fourth variation (3)> It may be possible to allow a user of one terminal 20 to share their shopping list with other users.

[0431] Figure 4-9 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this modified example. Here, we illustrate a case where a shopping list is shared based on a shopping list in which products corresponding to the ingredients of the recipe shown on the right side of Figure 4-5 are allocated by store.

[0432] The left side of Figure 4-9 is the shopping list screen corresponding to the right side of Figure 4-5. A share icon IC41 for sharing the shopping list is provided in the right part of the in-app location display area. When this share icon IC41 is tapped, a display like the one in the center of Figure 4-9 is shown (not limited to this example).

[0433] Specifically, the shopping list sharing information LS41, which contains information about sharing the shopping list, is displayed in a pop-up format in the center of the screen. The shopping list sharing information LS41 includes, but is not limited to, information that allows the user to select which list to share from a list of multiple stores included in the shopping list, as well as a "Cancel" button BT47 to stop sharing and a "Share" button BT48 to proceed with sharing.

[0434] In this example, the lists for "XX Mart JJ Store," "YY Supermarket JJ Store," and all stores are displayed as sharing options, and the user can select which list to share using radio buttons. In this example, the "YY Supermarket JJ Store" list is selected. When the "Share" button BT48 is tapped in this state, the screen shown on the right side of Figure 4-9 is displayed, not as a specific example, but as an example.

[0435] Specifically, the shopping list sharing information LS41 disappears, and the shared user selection information SU41, which allows you to select users to share with, appears rising from the bottom of the screen. Here, the users who share the information are not limited; for example, they could be users registered as friends in a messaging application. Furthermore, it may be possible to make it possible to share the information with groups configured within the messaging application.

[0436] In this case, the shopping assistance application can apply any of the forms (B) to (D) described above.

[0437] When a user is selected from this shared user selection information SU41 to share the list, the list information is sent to that user's terminal 20 via the server 10 (not limited to, but as an example). This list information can then be displayed on at least one of the following screens (not limited to, but as an example). • Notification screen of the shopping assistance application on the user's device 20 • The chat room screen of the messaging application on the user's device 20. • The timeline screen of the messaging application on the user's device 20.

[0438] A shared list can be editable by all users to whom it is shared, or by some users who are permitted to share it, not necessarily limited to any one user. For example, if there are missing items on the list, other users can add those items, or if the purchase quantity is insufficient, other users can increase the purchase quantity. Furthermore, it may be possible to remove products or reduce the number of items purchased.

[0439] <Fourth variation (4)> It may be possible to add items to the shopping list based on the user's past purchase history on terminal 20.

[0440] Figure 4-10 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of the terminal 20A in this modified example. Figure 4-10 (left side) shows an example of the usage report screen that appears when the "View Usage Report" button BT14 is tapped on the screen shown on the left side of Figure 1-10.

[0441] This usage report screen displays information about user AA's past purchase history, based on the receipt information that user AA registered with server 10. Here, we illustrate a case where user AA adds items included in their past purchase history to their shopping list, based on the past purchase history displayed on the display unit 24 of terminal 20 using this receipt information. In this way, the user can purchase items based on the added shopping list.

[0442] In the left-hand screen of Figure 4-10, the receipt information is displayed from top to bottom in chronological order, with the most recent receipts being displayed first. In other words, each time a receipt is added, the newly added receipt is displayed at the top.

[0443] In this example, the receipt information RC41 for "XX Mart JJ Store," registered on "August 22nd (Sunday)," is tapped by user AA, and its detailed information is displayed. Specifically, information about the items purchased at "XX Mart JJ Store" is displayed, including an image of "〇× Yogurt," its product name, and its price (in this example, "168 yen"), and an image of "○○ Drink," its product name, and its price (in this example, "231 yen"). The total amount is shown to be "1,333 yen." In addition, the shopping list addition icon IC31 is displayed in association with each product.

[0444] In this example, user AA taps the shopping list addition icon IC31, which is associated with the aforementioned "○○ drink," in order to purchase "○○ drink" again. In this case, the shopping list screen shown on the right side of Figure 4-10 is displayed, not as an example but as an illustration.

[0445] As an example, not limited to this case, based on the fact that user AA had already created a shopping list for "YY Supermarket JJ Store" on the screen shown in Figure 4-2, in this example, the "○○ Drink" selected by user AA on the left side of Figure 4-10 is automatically added to and displayed in the existing "YY Supermarket JJ Store" list. Specifically, the "○○ Drink" is added and displayed as a single item below the "〇× Yogurt" included in the "YY Supermarket JJ Store" list shown in the center of Figure 4-2. Since the price of "○○ Drink" as a single item at "YY Supermarket JJ Store" is "88 yen," the price of "○○ Drink" is displayed as "88 yen."

[0446] Please note that the above is merely one example and is not limited to this. In addition to the above, and not as an example but as a limitation, if a user has not yet created a shopping list, and the user adds items to the shopping list from the usage report screen displayed based on the tapping of the "View Usage Report" button BT14 on the left side of Figure 1-10, the items selected by the user may be added to the shopping list being built.

[0447] Furthermore, in the screen on the left side of Figure 4-10, if the shopping list addition icon IC31 associated with a product is tapped, terminal 20 displays information for selecting a store (not limited to, but examples include a screen for selecting a store, or a pop-up / balloon display for selecting a store). The product may then be added to the store-specific list corresponding to the store selected by the user. In this case, the shopping list being built may also be included in the store options, and if this is selected, the product may be added to the shopping list being built.

[0448] Furthermore, as mentioned earlier, it is possible to create more than one shopping list for a single account. In this case, for example, instead of being limited, the user could select items from their purchase history and add them to each of the existing shopping lists. Alternatively, the user could selectively add items to some of the two or more existing shopping lists.

[0449] This modified example shows that the target terminal 20, based on the user's purchase history, has a control unit 21 that controls whether to include products or services in a shopping list (not limited to, but an example of a list). The target terminal 20 then displays information about the products or services included in the shopping list on the display unit 24. One example of the effects of this modified configuration is that, based on the user's purchase history on the terminal, products or services can be included in a list, and information about the products or services included in that list can be displayed to inform the user.

[0450] Furthermore, in this modified configuration, the target terminal 20 receives price information via the communication I / F 22, which includes price information (not limited to, but an example of a third store) or price information (not limited to, but an example of a third store) for goods or services included in the shopping list based on the purchase history of the user of the terminal 20. The target terminal 20 then displays this price information on the display unit 24, associated with the corresponding store. As an example of the effects obtained by this configuration, based on the purchase history of the terminal user, third-party monetary information, including monetary information on products or services from the third-party store, can be provided to the user in association with the third-party store.

[0451] <Example 5> The fifth embodiment is an embodiment relating to a product delivery service.

[0452] The contents described in the fifth embodiment are applicable to any of the other embodiments or any of the other modifications. Furthermore, components identical to those previously mentioned are given the same symbols, and their explanation is omitted.

[0453] In this embodiment, a product delivery service is illustrated, and the provider of this delivery service is referred to as the "delivery service provider." In this embodiment, a case is illustrated where, in a form of shopping assistance, a user purchases products from stores using a shopping assistance application, and a delivery person (human) from the delivery service picks the products from each store and delivers them to the user. The delivery person is not limited to, but for example, can deliver the products by automobile (including trucks, etc.).

[0454] Alternatively, the shopping assistance service provider may also act as a delivery service provider, delivering the goods purchased by the user of terminal 20 from the store.

[0455] <Display screen> Figure 5-1 shows an example of the screen of the shopping assistance application displayed on the display unit 24 of terminal 20A in this embodiment. Figure 5-1, left side, shows an example of a shopping list screen with a map image. In this example, information regarding the total price when purchasing the items on the shopping list at the aforementioned "XX Mart JJ Store" and information regarding the total price when purchasing them at the aforementioned "YY Supermarket JJ Store" are displayed in separate speech bubbles.

[0456] Additionally, this screen displays information at the top of the map image display area recommending that users purchase items using a delivery service. Specifically, it shows an image of a truck and the words "Delivery Service Recommendation," along with the total price when purchasing items from the shopping list using the delivery service, and a "Use Service" button BT51 to enable the delivery service.

[0457] In this example, the total cost of purchasing items at "XX Mart JJ Store" is shown as "11,399 yen," and the total cost of purchasing items at "YY Supermarket JJ Store" is shown as "10,531 yen."

[0458] In this embodiment, the delivery fee for using the delivery service can be determined based on an amount per store (for example, "200 yen" or "210 yen" for visiting one store), rather than being limited to a specific amount.

[0459] In this case, the server 10 determines the store with the lowest price for each item in the shopping list, based on the prices of the items in each store within a range, such as within a 1km radius from the designated location indicated by the mark MK21, rather than limiting it to a specific range. Based on this determination, the server 10 calculates the items to be purchased at each store and the subtotal (total amount) of those items. The server 10 then transmits the calculation results and information regarding the delivery status of the items to the terminal 20, which displays them on the display unit 24 of the terminal 20. In this example, server 10 performs the calculation without considering shipping costs.

[0460] In this example, it is assumed that, based on the calculation performed by server 10, the following stores were selected by server 10, not as an exclusive selection, but as an example: "XX Mart JJ Store" and "YY Supermarket JJ Store," as well as "ZZ Mart KK Store" and "YY Supermarket KK Store."

[0461] When the "Use Service" button BT51 is tapped and the necessary information is entered, a delivery service screen regarding the delivery service for the items included in the shopping list will be displayed, as shown on the right side of Figure 5-1. On this delivery service screen, the delivery fee (in this example, "840 yen" for 4 stores) is displayed at the bottom of the map image display area. In addition, for each of the four stores selected by server 10, the subtotal amount (total price) of the items purchased at that store is displayed in association with that store.

[0462] In this example, the sum of the subtotals from the four stores mentioned above is "9,167 yen," which is cheaper than both the total amount of "11,399 yen" when purchasing goods at "XX Mart JJ Store" and the total amount of "10,531 yen" when purchasing goods at "YY Supermarket JJ Store," as shown on the left side of Figure 5-1. Adding the delivery fee of 840 yen brings the total to 10,007 yen. However, even with the delivery fee included, this price is still cheaper than both of the other two stores mentioned above.

[0463] In the screen on the right side of Figure 5-1, information including the words "Picking items" is displayed at the top of the map image display area, informing the user that the delivery person is currently picking items. Furthermore, for stores where item picking is complete, a checkmark is displayed associated with that store, informing the user of which stores have completed item picking. In this example, the current location information of the delivery person (delivery person's terminal) is displayed using an image of a truck.

[0464] The server 10 may calculate the estimated time required from the delivery person's current location to the designated location indicated by the mark MK21, based on the delivery person's (delivery person's terminal's) location information, store location information, delivery route information, etc., and transmit information regarding the calculated time required to the terminal 20. The terminal 20 may then display the received information regarding the time required on the display unit 24. For example, the display unit 24 of the terminal 20 may display information such as "We will arrive in X minutes" or "We will arrive at Y:Z" as an example.

[0465] The order in which delivery personnel pick the items may be determined randomly by server 10 and communicated to the delivery personnel.

[0466] Alternatively, the server 10 may calculate, based on dynamic programming (not limited to, but for example, Dijkstra's algorithm), which route would be the shortest for the delivery person to visit the stores, using the delivery person's departure point as the starting point and the designated location indicated by mark MK21 as the ending point, and then communicate the order of picking the products to the delivery person based on the calculation result.

[0467] In these cases, the server 10 may transmit information regarding the delivery of goods, including the order in which the goods should be picked, to a terminal carried by the delivery person, not limited to but as an example. The delivery person can then pick the goods based on the information displayed on the terminal they are carrying.

[0468] Furthermore, delivery service providers may choose to use robots to deliver goods instead of having human delivery personnel do so. As an example, and not limited to this, a delivery service provider could use autonomous drones that fly remotely (or automatically) to deliver goods.

[0469] In this case, one method is for the operator to remotely control the drone based on route information transmitted from server 10 to the operator's terminal, directing the drone to each store. Specifically, and this is not limited to, but as an example, the drone takes off from the starting point and lands at the first store. Then, the store's employees, or employees of a pre-deployed delivery service, load the goods from the first store onto the drone. After that, the drone takes off and heads to the next store. This process is repeated until goods from all stores are finally delivered to the user.

[0470] Alternatively, the drone's communication device may receive route information transmitted from the server 10, and the drone's control unit may perform automatic piloting to deliver the goods using the same procedure as described above.

[0471] Furthermore, the shopping assistance application can be used to transition to online supermarkets provided by individual store operators. The application can then be configured to deliver products to the user after they purchase them at the online supermarket.

[0472] Furthermore, as described above, server 10 can select the store with the lowest price for each item in the shopping list based on the price information of each store within a predetermined range from the specified location, and present the total amount to the user on terminal 20. However, if shipping fees are set based on the price per store as described above, and the calculation is performed without considering shipping fees, the number of stores from which products are purchased will increase, potentially resulting in a higher total price including shipping fees.

[0473] Therefore, server 10 may, as an example rather than a limiting one, consider shipping costs and determine the store from which to purchase the goods in such a way that the total amount including shipping costs is minimized.

[0474] Furthermore, even for combinations of stores where the total amount including shipping is not the lowest, server 10 may similarly perform the calculation and send the calculation result to terminal 20 as a recommendation for a shipping service for display. This is because some users may use a shipping service even if it is not the cheapest option, simply because it saves them the trouble of going shopping themselves.

[0475] In addition, unlike the above example, the shipping fee may be set as a flat rate regardless of the number of stores. Additionally, you may charge a surcharge for immediate or same-day delivery.

[0476] <Other> (1) Electronic receipt As mentioned above, instead of paper receipts, the server 10 may analyze and aggregate the receipt information identified by electronic receipts. In this case, the terminal 20 that acquired the electronic receipt may send the electronic receipt to the server 10, or the server or other device of the store that issued the electronic receipt may send the electronic receipt to the server 10.

[0477] (2) Category As explained in the fourth modification, categories may be established for products and services, and price information for the corresponding products and services may be displayed for each product category or service category. In this case, as mentioned above, the store categories are stored in the store registration data 154, and the product price management database 155C shown in Figure 4-7, the account management database 159B shown in Figure 4-8, etc., can be applied, and processing similar to that described in the above embodiment can be performed based on this data.

[0478] (3) Proposal of the lowest price As an example, rather than being limited, a shopping assistance service provider could be allowed to act as a retail store and sell products selected by users within the shopping assistance application.

[0479] As described in the above embodiment, the shopping assistance service provider can obtain information on the prices of products at each store based on the receipt information collected by the server 10 from the terminal 20 (its user). Therefore, as an example, the server 10, for each shopping list, sends and displays information on the total amount that can be purchased from stores within a set range from a specified location, as shown in the screen on the left side of Figure 5-1, associating it with each store. At the same time, it calculates the total amount that the shopping assistance service provider can offer at a lower price than the total amount that could be purchased from each of those stores. In other words, it uses the collected data on the prices of products at each store as big data to calculate the price at which the shopping assistance service provider can sell at a favorable price. Then, it sends the calculated amount to the terminal 20 and displays it on the display unit 24 of the terminal 20, proposing to the user of the terminal 20 that they can purchase products from the shopping assistance service provider at a lower price. Furthermore, suggestions can be made on an item-by-item basis, rather than on a shopping list basis.

[0480] Furthermore, in this case, the shopping assistance service provider should also handle the delivery of the goods. Instead of being limited to this, for example, they could set their delivery fees lower than other delivery service providers, or offer discounts or make delivery free depending on the total amount of the purchased goods, so that even including delivery fees, the total amount is lower than if other delivery services were used.

[0481] (4) Aggregation of information regarding the price of goods In the first embodiment, in addition to using receipts, a method was demonstrated in which the user inputs information about the price of goods or services into the terminal 20 and sends it to the server 10, and the server 10 aggregates this information. This method is equally applicable to each of the above embodiments and their respective modifications. [Explanation of symbols]

[0482] 1. Communication System 10 servers 20 devices 30 Networks

Claims

1. A program executed by a terminal, The control unit of the terminal acquires information on multiple products entered by the user of the terminal, Based on the individual prices of the multiple products at the first store and the individual prices of the multiple products at the second store, the terminal displays shopping information related to the multiple products, including the total amount of the multiple products purchased. The terminal performs the following actions: displaying the map image on the display unit. The aforementioned shopping information includes a first amount, which is the sum of the amounts of each item purchased at the first store among the multiple items, and a second amount, which is the sum of the amounts of each item purchased at the second store among the multiple items. The first amount is displayed on the map image in association with the first store. The second amount is displayed on the map image in association with the second store.

2. The program according to claim 1, Based on the selection of the first store from the map image by the user of the terminal, the terminal displays information on each of the multiple products to be purchased at the first store on the display unit.

3. A program executed by a terminal, The control unit of the terminal acquires information on multiple products entered by the user of the terminal, Based on the individual prices of the multiple products at the first store and the individual prices of the multiple products at the second store, the terminal displays shopping information related to the multiple products, including the total amount of the multiple products purchased. The display unit will show the first total amount, which is the total amount of the multiple products when the multiple products are purchased at the first store, and the second total amount, which is the total amount of the multiple products when the multiple products are purchased at the second store. The terminal performs the following actions: displaying the map image on the display unit. The aforementioned first total amount is displayed on the map image in association with the aforementioned first store. The second total amount is displayed on the map image in association with the second store.

4. The program according to claim 3, Based on the selection of the first store from the map image by the user of the terminal, the terminal displays the price of each of the multiple products at the first store on the display unit.

5. A program according to any one of claims 1 to 4, The aforementioned shopping information is based on location information entered by the user of the terminal.

6. L according to claim 5, The shopping information includes information on potential shopping locations, including the first store and the second store, selected based on the location entered by the user of the terminal.

7. L according to claim 6, The aforementioned potential stores for shopping are those located within a distance set from the location entered by the user of the terminal.

8. A program according to any one of claims 1 to 7, The aforementioned shopping information includes information regarding the travel time involved in purchasing multiple items.

9. A program according to any one of claims 1 to 8, The aforementioned shopping information includes information regarding the order in which the stores visited during the shopping trip are selected.

10. A program according to any one of claims 1 to 9, The aforementioned shopping information includes information regarding the order of multiple shopping options.

11. A program according to any one of claims 1 to 10, The price of each of the aforementioned items at the first store is obtained by reading the receipt issued at the first store using a first terminal different from the aforementioned terminal. The price of each of the aforementioned items at the second store is obtained by reading the receipt issued at the second store using a second terminal different from the first terminal.

12. A terminal information processing method, The control unit of the terminal acquires information on multiple products entered by the user of the terminal, Based on the individual prices of the multiple products at the first store and the individual prices of the multiple products at the second store, the terminal displays shopping information related to the multiple products, including the total amount of the multiple products purchased. This includes displaying a map image on the display unit, The aforementioned shopping information includes a first amount, which is the sum of the amounts of each item purchased at the first store among the multiple items, and a second amount, which is the sum of the amounts of each item purchased at the second store among the multiple items. The first amount is displayed on the map image in association with the first store. The second amount is displayed on the map image in association with the second store.

13. It is a terminal, A control unit that acquires information on multiple products entered by the user of the aforementioned terminal, The system includes a display unit that displays shopping information related to multiple purchases of the multiple products, including the total amount of the multiple products, based on the price of each of the multiple products at the first store and the price of each of the multiple products at the second store. The aforementioned display unit displays a map image, The aforementioned shopping information includes a first amount, which is the sum of the amounts of each item purchased at the first store among the multiple items, and a second amount, which is the sum of the amounts of each item purchased at the second store among the multiple items. The first amount is displayed on the map image in association with the first store. The second amount is displayed on the map image in association with the second store.

14. A terminal information processing method, The control unit of the terminal acquires information on multiple products entered by the user of the terminal, Based on the individual prices of the multiple products at the first store and the individual prices of the multiple products at the second store, the terminal displays shopping information related to the multiple products, including the total amount of the multiple products purchased. The display unit will show the first total amount, which is the total amount of the multiple products when the multiple products are purchased at the first store, and the second total amount, which is the total amount of the multiple products when the multiple products are purchased at the second store. This includes displaying a map image on the display unit, The aforementioned first total amount is displayed on the map image in association with the aforementioned first store. The second total amount is displayed on the map image in association with the second store.

15. It is a terminal, A control unit that acquires information on multiple products entered by the user of the aforementioned terminal, The system includes a display unit that displays shopping information related to multiple purchases of the multiple products, including the total amount of the multiple products, based on the price of each of the multiple products at the first store and the price of each of the multiple products at the second store, and displays a first total amount, which is the total amount of the multiple products when the multiple products are purchased at the first store, and a second total amount, which is the total amount of the multiple products when the multiple products are purchased at the second store. The aforementioned display unit displays a map image, The aforementioned first total amount is displayed on the map image in association with the aforementioned first store. The second total amount is displayed on the map image in association with the second store.

Citation Information

Patent Citations

  • Purchase supporting device

    JP2001325495A

  • Food purchasing information displaying system food purchasing information displaying device, food purchasing information supplying source, and food order receiving server

    JP2002092307A

  • User support method and shopping support device capable of using the method

    JP2003076896A

  • Electronic commerce support system

    JP2006018779A

  • Shopping support system using shopping list

    JP2006236014A