Abstract:
Methods and devices are provided for identifying a merchant and making a reservation with the merchant. In one aspect, a method is provided utilizing a communication device configured for (a) receiving navigation data associated with a user; (b) upon receiving an activation signal, generating an electronic request using the activation signal and the navigation data, the electronic request encoding a request for goods or services corresponding to the activation signal; (c) transmitting the electronic request to a computer server to obtain merchant information of one or more candidate merchants; (d) receiving the merchant information, the merchant information including geographic locations of the one or more candidate merchants. In further aspects, a communication device is provided which has a processor and a data storage device storing computer program instructions; and, a computer server for handling an electronic request to identify a relevant merchant and an associated method are also provided.

Description:
FIELD AND BACKGROUND 
       [0001]    This present disclosure relates to methods and devices for identifying a merchant which supplies goods or services. In particular, computerized-methods and devices for identifying a merchant supplying goods or services which is relevant to a user are provided. 
         [0002]    Various methods are used for identifying potential merchants and making a reservation for goods or services. For example, a user performs a search (e.g. using the internet) of merchants who supplies the type of goods or services in a certain geographic region. The user then identifies the merchant of interest based on the search result and contacts the merchant, for example, by a phone call to enquire and/or make a reservation with the merchant. Sometimes the search returns the relevant merchants which are nearby, such as when a mobile-phone user allows his current location to be used for the search. Then the user contacts the merchant of interest to make a reservation for goods or services by querying an available time slot. 
         [0003]    However, existing methods are still cumbersome as it requires the user specify search terms (such as “car service centers”) in order to retrieve information about relevant merchants based on a geographic location. It is desirable to provide an improved method and device for identifying a merchant and optionally making a reservation with the merchant. 
       SUMMARY 
       [0004]    The present disclosure provides a device and method for identifying a merchant where a user is en route to a destination location. In general terms, the present disclosure proposes identifying relevant merchants based on an electronic request encoding assistance required and a destination location associated with the user. Typically but not necessarily, the relevant merchants are identified based on their availability information. Optionally, the proposed method may include an optional step of making a reservation with an available merchant so that the user will be able to access to the type of goods or services of his/her needs expeditiously and efficiently. 
         [0005]    According to a first aspect, there is provided a communication device such as a mobile phone, or a GPS unit for use with a vehicle. The communication device has a processor and a data storage device storing computer program instructions, the computer program instructions being operative, to cause the processor to:
       (a) receive navigation data associated with a user, said navigation data comprising a first and second geographic location;   (b) upon receiving an activation signal, generate an electronic request using the activation signal and the navigation data, said electronic request encoding a request for goods or services corresponding to the activation signal;   (c) transmit the electronic request to a computer server to obtain merchant information of one or more candidate merchants; and   (d) receive the merchant information of the one or more candidate merchants, the merchant information comprising a geographic location of the candidate merchant.       
 
         [0010]    This could be useful for a user to identify and locate a relevant merchant for the goods or services desired by the user, especially when the goods or service is needed urgently, and/or where an emergency service is needed when the user is en route to a pre-determined destination location. For example, when a user is (or about to) en route to a destination location, an urgent need for assistance becomes apparent along the journey, the user can be provided with relevant choices of available merchants for the goods or services identified based on the geographic location associated with the user. This makes it possible to minimize any detour in terms of travelling time and/or distance en route to the user&#39;s destination location. For example, the available merchants may be recommended to the user based on the starting (or current) location and the destination location that is previously entered by the user before the trip started. 
         [0011]    Alternatively or additionally, the available merchants may be recommended to the user based on a specific route connecting the starting and destination location previously chosen by the user among different possible routes. 
         [0012]    Typically but not necessarily, the merchant information comprises availability data about the one or more candidate merchants. The availability data is indicative of the candidate merchant&#39;s capacity in providing the goods or services during a pre-defined time slot, such as within the next 10 minutes, 20 minutes, 30 minutes, or 1 hour. This may provide the user with useful information regarding availability and/or expected waiting time needed before receiving goods/services from the merchant, which allows the user to make an informed decision about the merchant the user would like to select. 
         [0013]    In one embodiment, the data storage device may store computer program instructions operative to cause the processor to:
       (e) register a selection among the one or more candidate merchants by the user; and   (f) cause a reservation request to be transmitted to a merchant&#39;s server in response to the selection.       
 
         [0016]    This may allow the user to secure a reservation for the goods or services needed by the user with the selected merchant. Therefore, the user may receive the goods/services at the merchant with minimal waiting time. Thus, this also minimizes any additional travelling time or distance as a result of the user having to switch to another merchant due to the unavailability of the present merchant. 
         [0017]    In one embodiment, the communication device may comprise a positioning unit configured to determine a geographic location of the communication device and operation (a) may comprise receiving the first geographic location from the positioning unit. The geographic location may be represented by, for example, a postal code or a pair of geographic coordinates. 
         [0018]    In one embodiment, the activation signal may be generated by a sensor unit communicatively coupleable to the communication device. For example, the sensor unit may include a vehicle sensor coupled to a vehicle and said activation signal may be generated upon a pre-defined condition of the vehicle being detected by the vehicle sensor. The pre-defined condition may be indicative of a need for vehicle maintenance. Upon the communication device receiving the activation signal, it automatically generates the electronic request which is transmitted automatically to the computer server. For another example, the sensor unit may be configured to measure a physical parameter of the user, and the activation signal may be automatically generated upon the measured physical parameter exceeding a pre-defined range. 
         [0019]    In another embodiment, the activation signal may be generated by an input actively initiated by the user, such as the user manually input through the input/output device requesting a type of goods or services. 
         [0020]    In one embodiment, each of the candidate merchants is identified using its geographic location and the electronic request. According to a particular example, each of the candidate merchants may be identified based on a distance between its geographic location and a route connecting the first and second geographic location. 
         [0021]    In one embodiment, the data storage device may store computer program instructions operative to cause the processor to receive personal information of the user, and the electronic request is generated further using the personal information. Additionally or alternatively, the reservation request may comprise the personal information. The personal information may, for example, comprise at least one of (i) payment information associated with the user, (ii) an identity of the user, and (iii) an age of the user. 
         [0022]    The communication device may be configured to further assist with a payment transaction with the merchant for the goods or services provided to the user. 
         [0023]    In one embodiment, the data storage device may store computer program instructions operative to cause the processor to:
       (g) receive a bill, from the merchant&#39;s server, for the goods or services supplied to the user; and   (h) upon an authorization by the user, cause a payment transaction to be processed by a payment network server to effect a payment for the bill.       
 
         [0026]    The bill may comprise a first and second payment amount to be received from the user and a third party respectively, and the payment transaction is for the first payment amount, i.e. the payment receivable from the user. In one embodiment, the communication device may be configured to cause a payment transaction for the second amount to be processed by a payment network server. 
         [0027]    In a further embodiment, the communication device may be configured to determine a navigation route which connects the first, second and merchant&#39;s geographic location. 
         [0028]    According to a second aspect, there is provided a computer-implemented method of identifying a merchant. The method comprising a communication device:
       (a) receiving navigation data associated with a user, said navigation data comprising a first and second geographic location;   (b) upon receiving an activation signal, generating an electronic request using the activation signal and the navigation data, said electronic request encoding a request for goods or services corresponding to the activation signal;   (c) transmitting the electronic request to a computer server to obtain merchant information of one or more candidate merchants; and   (d) receiving the merchant information of the one or more candidate merchants, the merchant information comprising a geographic location of the candidate merchant.       
 
         [0033]    In one embodiment, the merchant information comprises availability data about the one or more candidate merchants. The availability data may be indicative of the candidate merchant&#39;s capacity in providing the goods or services during a pre-defined time slot. 
         [0034]    The computer-implemented method may further comprise operations which the communication device is configured to perform as described above. 
         [0035]    The present disclosure may alternatively be expressed in terms of the software product itself, such as at a time when it is stored in a non-transitory form on a tangible data storage device. The data storage device may be within the communication device, or it may be a database from which the communication device is able to download the software application. In particular, there is proposed a computer program product comprising computer program instructions which is operative, when implemented by a processor of a communication device, to cause the processor to:
       (a) receive navigation data associated with a user, said navigation data comprising a first and second geographic location;   (b) upon receiving an activation signal, generate an electronic request using the activation signal and the navigation data, said electronic request encoding a request for goods or services corresponding to the activation signal;   (c) transmit the electronic request to a computer server to obtain merchant information of one or more candidate merchants; and   (d) receive the merchant information of the one or more candidate merchants, the merchant information comprising a geographic location of the candidate merchant.       
 
         [0040]    According to a further aspect, there is provided a computer server for processing a reservation request. The computer server comprises a server processor, and a data storage device storing server processor program instructions. The server processor program instructions are operative to cause the server processor to:
       (a) receive an electronic request from a communication device of a user, said electronic request encoding a request for goods or services and navigation data associated with the user, said navigation data comprising a first and second geographical location;   (b) interrogate a first database storing merchants information to identify one or more candidate merchants using its geographic location and the electronic request; and   (c) transmit the merchant information of the one or more candidate merchants to the communication device, the merchant information comprising a geographic location of the candidate merchant.       
 
         [0044]    In one embodiment, the merchants information comprises availability data about the one or more candidate merchants. The availability data may be indicative of the candidate merchant&#39;s capacity in providing the goods or services during a pre-defined time slot. 
         [0045]    In one embodiment, the data storage device further stores server processor program instructions operative to cause the server processor to:
       (d) receive, from the communication device, data indicative of a selection among the one or more candidate merchants by the user; and   (e) transmit a reservation request to a merchant&#39;s server in response to the selection.       
 
         [0048]    In one embodiment, operation (b) may comprise identifying the one or more candidate merchants based on a distance between its geographic location and a route connecting the first and second geographic location. 
         [0049]    In one embodiment, the one or more candidate merchants may be identified by the server processor further interrogating a second database storing promotion information associated with merchants to supply goods or services. The promotional information may be (i) offers by merchants to supply goods or services, and/or (ii) privileges available for payments made with a pre-define range of payment cards. 
         [0050]    In one embodiment, the one or more candidate merchants may be identified by the server processor further interrogating a third database storing information about third parties, for example, the third parties who offer payments for the goods or services supplied to the user. 
         [0051]    In one embodiment, the data storage device may store server processor program instructions operative to cause the server processor to receive personal information of the user and the electronic request may be generated further using the personal information. In one embodiment, the reservation request may comprise the personal information of the user. The personal information may be (i) payment information associated with the user, (ii) an identity of the user, and/or (iii) an age of the user. 
         [0052]    In one embodiment, the data storage device may store server processor program instructions operative to cause the server processor to:
       (f) receive a bill, from the merchant&#39;s server, for the goods or services supplied to the user,   (g) determine a first amount receivable from the user, and   (i) transmit, to the communication device, a request for a payment of the first amount.       
 
         [0056]    In one embodiment, operation (g) may further comprise receiving insurance data associated with the user and determining a second amount receivable from an insurance provider. The first amount is a difference between the bill and the second amount. 
         [0057]    In one embodiment, the data storage device may store server processor program instructions operative to cause the server processor to transmit, to a server of the insurance provider, a request for a payment of the second amount. 
         [0058]    According to a further aspect, there is provided a computer-implemented method for identifying a merchant. The method comprises a computer server performing the operations of:
       (a) receiving, by the computer server, an electronic request from a communication device of a consumer, said electronic request encoding a request for goods or services and navigation data associated with the user, said navigation data comprising a first and second geographical location;   (b) interrogating a first database storing merchants information to identify one or more candidate merchants using its geographic location and the electronic request;   (c) transmitting the merchant information of the one or more candidate merchants to the communication device, the merchant information comprising a geographic location of the candidate merchant.       
 
         [0062]    The computer-implemented method may further comprise operations which the computer server is configured to perform as described above. 
         [0063]    The term “automatic” is used in this document to refer to a process which is performed substantially without human involvement, save possibly for initiation of the process. 
         [0064]    As used in this document, the term “payment card” refers to any cashless payment device associated with a payment account, such as a credit card, a debit card, a prepaid card, a charge card, a membership card, a promotional card, a frequent flyer card, an identification card, a gift card, and/or any other device that may hold payment account information, such as mobile phones, Smartphones, personal digital assistants (PDAs), key fobs, transponder devices, NFC-enabled devices, and/or computers. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0065]    Embodiments of the invention will now be described for the sake of non-limiting example only, with reference to the following drawings in which: 
           [0066]      FIG. 1  shows schematically a computerized network which is suitable to perform the method which is an embodiment; 
           [0067]      FIG. 2  shows schematically another computerized network which is suitable to perform the method which is another embodiment; 
           [0068]      FIG. 3  is a flow diagram of a method which is an embodiment; 
           [0069]      FIG. 4  shows the sub-operations in a possible realization of a operation of  FIG. 3 ; 
           [0070]      FIG. 5  shows the technical architecture of a computer server of the computerized network of  FIG. 1 ; and 
           [0071]      FIG. 6  shows the technical architecture of a communication device of the computerized network of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0072]    Referring to  FIG. 1 , a computerized network is shown which is suitable for performing a method of an embodiment as illustrated by  FIG. 3 . The computerized network comprises a communication device  2  associated with a user. The communication device may for example be a smartphone, a smart watch, a music player (e.g. MP3), a personal digital assistant (PDAs), a GPS unit of the user or the like. 
         [0073]    The communication device  2  is remote from a computer server  4  and has a communication module such as a wireless interface for two-way communication with the computer server  4  via a communication network  6 . In this embodiment, the computer server  4  has access to three databases: a merchant database  8   a , a promotion database  8   b , and a third-party database  8   c , which will be described in more detail below. 
         [0074]    As shown in  FIG. 1 , the computer server  4  may further be in communication with a communication network  10 . Under the communication network  10 , the computer server  4  is in two-way communication with a plurality of merchants&#39; servers  12   a ,  12   b ,  12   n , and third-party servers such as insurance provider servers  14   a ,  14   b . It envisaged that merchants will provide automatically accessible information about their goods or service and availability data. A merchant may for example provide this via an application program interface on the merchant server  12   a  server operated by the merchant. This data can be used to populate the merchant database  8   a  and promotion database  8   b.    
         [0075]    The communication networks  6 ,  10  may be any types of network, for example, virtual private network (VPN), the Internet, a local area and/or wide area network (LAN and/or WAN), a wi-fi network, or a 3G or 4G telecommunication network. 
         [0076]    In another embodiment as shown in  FIG. 2 , the computerized-network may further comprise a payment network server  16 . The computer server  4  is associated with a payment network, and in particular, it is in communication with a payment network server  16 . Non-limiting examples of the payment network are a payment card type of network such as the payment processing network operated by MasterCard, Inc. The payment network server  16  handles payment transactions involving a payment card. In this example, upon receiving a request from an acquirer bank  18   a , the payment network server  16  contacts an issuer bank  18   b  which issued the payment card to effect the payment transaction upon a cardholder&#39;s (e.g. the user&#39;s) authorization. The user&#39;s authorization may be communicated to the payment network direct by communication device  2  of the user or via the computer server  4 . 
         [0077]      FIG. 3  illustrates a flow of an exemplary method  100  of the present disclosure. 
         [0078]    In operation  110 , the communication device  2  generates an electronic request for goods or services and transmits the electronic request to the computer server  4 . The electronic request is generated automatically upon the communication device  2  receiving an activation signal, for example, upon detecting a pre-defined condition of the vehicle. 
         [0079]    In this example, the activation signal is generated by a tyre-pressure sensor of the user&#39;s vehicle. The tyre-pressure sensor is communicatively coupled to the communication device  2 . For example, a dashboard of the vehicle (or any other on-board diagnostic system which monitors various parameters of the vehicle) which receives data from the tyre-pressure sensor coupled thereto may be configured to wirelessly communicate with the communication device  2  based on the data received. Upon the measured tyre-pressure falling below a pre-defined threshold, the communication device  2  automatically generates an electronic request which is indicative of a need for vehicle repair/maintenance services. The electronic request is then automatically transmitted to the computer server  4  via the communication network  6 . In another example, the pre-define condition of the vehicle may be associated with a low-fuel level of the vehicle, overheat of the vehicle engine, etc. 
         [0080]    In a particular example, a low-fuel alert may be generated by a positioning system (e.g. a GPS system, a GLONASS system, a GALILEO system or a BeiDou-2 system) of the vehicle using an estimate of the fuel use based on historical travelling data. The electronic request accordingly comprises information of a type of the goods or services required by the user. 
         [0081]    In another example, the activation signal is generated by a sensor unit, for example, by a smart watch wearable by a user, which measures a physical parameter of the user, such as a heart rate and/or blood pressure. The sensor unit may be coupled to the communication device  2  via Bluetooth or any other wireless communication protocol. In one embodiment, upon the measured blood pressure or heart rate exceeding a certain threshold, the communication device detects the activation signal and automatically generates an electronic request for emergency medical services. 
         [0082]    In a further embodiment, the activation signal is generated by an input actively initiated by the user, such as the user manually input through an input device of the communication device  2  requesting a type of goods or services. 
         [0083]    The electronic request is generated further using navigation data associated with the user. In this example, the navigation data comprises a starting and destination location input by the user. In one embodiment, the navigation data is received from a positioning unit, such as a geo-location module  230   c , of the communication device  2 . In this example, the navigation data comprises a current geographic location detected by the geo-location module and a destination location (such as a postal code of the destination) entered by the user via an input device of the communication device  2 . In a variant, the communication device  2  may receive the navigation data wirelessly from an on-board vehicle position tracking system (e.g. a GPS system, a GLONASS system, a GALILEO system or a BeiDou-2 system). 
         [0084]    In some embodiments, the communication device  2  may store or receive personal information of the user such as user&#39;s payment information, a user&#39;s identity or a user&#39;s age. The electronic request is generated further using the personal information, and transmitted to the computer server  4 . 
         [0085]    In operation  120 , the computer server  4  receives the electronic request via the communication network  6 . In some embodiments, the computer server  4  may process the request to identify the type of goods or services required by the user. 
         [0086]    In operation  130 , the computer server  4  is configured to interrogate the merchant database  8   a  to obtain information about merchants which offer the type of goods or services requested by the user. The merchant database  8   a  stores merchant information such as information on goods or service provided by the merchant and a geographic location of the merchant. The merchant information may further comprises availability data about the merchants. The availability data indicates the candidate merchant&#39;s capacity in providing the goods or services during a pre-defined time slot. For example, the availability data may comprises a list of time-slots which the merchant has the ability to supply goods or services. The merchant database  8   a  may further store merchant information such as opening hours, contact details or the like. The server  4  may identify one or more candidate merchants based on a distance between its geographic location and a route connecting the starting and destination location, as well as a type of goods or services provided by the merchant. 
         [0087]    The computer server  4  may interrogate additional databases such as the promotion database  8   b  to identify the candidate merchants in response to the request by the user. The promotion database  8   b  stores promotion information associated with merchants to supply goods or services. Such information may be offers by merchants to supply goods or services, and/or privileges made available for customers for payments made with a pre-define range of payment cards. For example, privileges are offered for payments made by a certain type of credit card, or those issued by a certain issuing bank. The computer server  4  may identify the one or more candidate merchants based on the promotion provided, in particular, if the merchant offers a promotion that is potentially applicable to the user based on the user&#39;s payment information. 
         [0088]    The computer server  4  may further interrogate a third-party database  8   c  to identify the candidate merchants. The third-party database  8   c  stores information about third parties, such as insurance providers, who may offer payments for the goods or services supplied to the user. The payments may be in full or in part for the goods or services which qualify a corresponding insurance coverage. 
         [0089]    The computer server  4  may retrieve the availability data associated with each of the candidate merchants from respective merchant servers  12   a ,  12   b ,  12   n . It is envisaged that such availability data may be populated by the merchant servers  12   a ,  12   b ,  12   n  and stored in the merchant&#39;s database  8   a  which is updated automatically in real-time or at a time interval. In that case, it is not required for the computer server  4  to communicate with the merchant servers  12   a ,  12   b ,  12   n  to obtain the availability data. 
         [0090]    In operation  140 , the computer server  4  transmits necessary information including the merchant&#39;s location and the availability data about the candidate merchants to the communication device  2  of the user. In operation  150 , such information is displayed for the user to select a merchant he/she is interested in visiting or engaging among the candidate merchants. In a preferred embodiment, the user may specify a desired time slot with the merchant for the reservation. For example, a list of available time slots pre-defined by the merchant may be populated for the user&#39;s selection. In another example, the user will be allowed to request a customized time slot which may be sent to the merchant&#39;s server  12   a  for confirmation by the merchant subject to its availability. In operation  160 , the communication device  2  registers the user&#39;s selection of the merchant. The user&#39;s selection may be registered by the user making an active input, for example, by registering a user&#39;s action on an input terminal of the communication device  2 . In some embodiments, an active input from the user may not be required. For example, in the absence of the user&#39;s action, a default candidate merchant (e.g. a candidate merchant which has the optimal availability or which is nearest to the current location of the user may be automatically selected) may be registered as the user&#39;s selection. 
         [0091]    In operation  170 , a reservation request to be sent in response to the selection made by the user in operation  170 . This may be performed by the communication device  2  sending a command to the computer server  4  requesting the server  4  to send the reservation request to the merchant&#39;s server  12   a . In a variant, this may be performed by the communication device sending a reservation request directly to the merchant server  12   a  via a communication network (not shown). The communication device  2  may further determine a navigation route which connects the starting, destination location and merchant&#39;s geographic location. The navigation route may be determined based an estimated travelling time, distance, traffic conditions and/or the like. An optimal navigation route, for example the one with the shortest travelling time to the merchant en route to the destination location, may be automatically calculated and recommended to the user. 
         [0092]    In operation  180 , the merchant server  12   a  receives the reservation request from the user, and reserves a corresponding goods or services for the user. The reservation request may further comprise personal information associated with the user, such as an identity of the user, payment information of the user, and/or general preferences of the user relating to the goods or services which the merchant provides. The merchant may then use this information to prepare the goods or services according to the user&#39;s preference. 
         [0093]    The communication device  2  may further assist with a payment transaction with the merchant for the goods or services provided to the user. 
         [0094]    In operation  190 , the communication device  2  may receive a bill from the merchant server and cause a payment for the bill to be processed over a payment network to effect the payment. For example, the communication device  2  may store credit card information of the user which may be communicated to the payment network server  16  for processing the payment. 
         [0095]    In another example, the communication device  2  communicates with the payment network serve  16  via the computer server  4 . In another example, the communication device  2  may store identity data of the user for a payment system at which the user has previously registered, such as the digital or mobile wallet offered by the MasterPass™ system. The user may use a MasterPass™ ID and password to authenticate his/her identity before causing the payment transaction to be processed by the payment network server  16 . In another embodiment, the payment may be made using payment details which are held on file at another server (not shown) with which the communication device  2  is in communication. The card details and payment amount, as well as other information typically used to complete a payment transaction, may be passed from the server to a payment gateway in order to process the transaction. 
         [0096]    In one embodiment, one possibility of performing operation  190  is illustrated in  FIG. 4 . In sub-operation  191 , the communication device  2  receives a bill showing an amount payable by the user to the merchant in respect of the goods or services provided. The bill may be received by the communication device  2  directly from the merchant&#39;s server  12   a , or via the computer server  4 . 
         [0097]    In one embodiment, the bill has a first and second payment amount to be received from the user and a third party respectively. For example, the computer server  4  receives a bill, and determines a payment amount to be received from a user and an insurance provider, respectively. In particular, the computer server  4  receives insurance data of the user and determines a payment amount to be received from the insurance provider based on the insurance data. A payment amount receivable from the user may be determined based on a balance of the bill owed to the merchant. In another example, the computer server  4  is configured to determine a payment amount to be received from the user based on the insurance data then calculate the amount to be received from the insurance provider based on the balance. 
         [0098]    Alternatively or additionally, the computer server  4  transmits the bill and the user&#39;s personal information to the insurance provider server  14   a . The insurance provider server  14   a  determines or validates the payment amount payable by the insurance provider and notifies the computer server  4 . The computer server  4  then communicates the balance amount to the communication device  2  and optionally causes a payment transaction to be carried out over the payment network as described above. Similarly, the computer server  4  may request the insurance provider server  14   a  to prepare and make a payment transaction for the amount payable over a same or different payment network. 
         [0099]      FIG. 5  is a block diagram showing a technical architecture of the computer server  4 . 
         [0100]    The technical architecture includes a processor  422  (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage  424  (such as disk drives), read only memory (ROM)  426 , random access memory (RAM)  428 . The processor  422  may be implemented as one or more CPU chips. The technical architecture may further comprise input/output (I/O) devices  430 , and network connectivity devices  432 . 
         [0101]    The secondary storage  424  is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM  428  is not large enough to hold all working data. Secondary storage  424  may be used to store programs which are loaded into RAM  428  when such programs are selected for execution. 
         [0102]    In this embodiment, the secondary storage  424  has a processing component  424   a  comprising non-transitory instructions operative by the processor  422  to perform various operations of the method of the present disclosure. The ROM  426  is used to store instructions and perhaps data which are read during program execution. The secondary storage  424 , the RAM  428 , and/or the ROM  426  may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media. 
         [0103]    I/O devices  430  may include printers, video monitors, liquid crystal displays (LCDs), plasma displays, touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices. 
         [0104]    The network connectivity devices  432  may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards that promote radio communications using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), near field communications (NFC), radio frequency identity (RFID), and/or other air interface protocol radio transceiver cards, and other well-known network devices. These network connectivity devices  432  may enable the processor  422  to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that the processor  422  might receive information from the network, or might output information to the network in the course of performing the above-described method operations. Such information, which is often represented as a sequence of instructions to be executed using processor  422 , may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave. 
         [0105]    The processor  422  executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage  424 ), flash drive, ROM  426 , RAM  428 , or the network connectivity devices  432 . While only one processor  422  is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors. 
         [0106]    Although the technical architecture is described with reference to a computer, it should be appreciated that the technical architecture may be formed by two or more computers in communication with each other that collaborate to perform a task. For example, but not by way of limitation, an application may be partitioned in such a way as to permit concurrent and/or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by the technical architecture  220  to provide the functionality of a number of servers that is not directly bound to the number of computers in the technical architecture  220 . In an embodiment, the functionality disclosed above may be provided by executing the application and/or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. A cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third-party provider. 
         [0107]    It is understood that by programming and/or loading executable instructions onto the technical architecture, at least one of the CPU  422 , the RAM  428 , and the ROM  426  are changed, transforming the technical architecture in part into a specific purpose machine or apparatus having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules. 
         [0108]      FIG. 6  is a block diagram showing a technical architecture of the communication device  1 . The technical architecture includes a processor  222  (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage  224  (such as disk drives or memory cards), read only memory (ROM)  226 , random access memory (RAM)  228 . The processor  222  may be implemented as one or more CPU chips. The technical architecture further comprises input/output (I/O) devices  230 , and network connectivity devices  232 . 
         [0109]    The I/O devices comprise a consumer interface (UI)  230   a  and a geolocation module  230   c . The UI  230   a  may comprise the screen  3  in the form of a touch screen, the keyboard  4 , a keypad or other known input device. The camera  2  allows a consumer to capture images and save the captured images in electronic form. The geolocation module  230   c  is operable to determine the geolocation of the communication device using signals from, for example, global positioning system (GPS) satellites. 
         [0110]    The secondary storage  224  is typically comprised of a memory card or other storage device and is used for non-volatile storage of data and as an over-flow data storage device if RAM  228  is not large enough to hold all working data. Secondary storage  224  may be used to store programs which are loaded into RAM  228  when such programs are selected for execution. 
         [0111]    In this embodiment, the secondary storage  224  has a processing component  224   a , comprising non-transitory instructions operative by the processor  222  to perform various operations of the method of the present disclosure. The ROM  226  is used to store instructions and perhaps data which are read during program execution. The secondary storage  224 , the RAM  228 , and/or the ROM  226  may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media. 
         [0112]    The network connectivity devices  232  may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards that promote radio communications using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), near field communications (NFC), radio frequency identity (RFID), and/or other air interface protocol radio transceiver cards, and other well-known network devices. These network connectivity devices  232  may enable the processor  222  to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that the processor  222  might receive information from the network, or might output information to the network in the course of performing the above-described method operations. Such information, which is often represented as a sequence of instructions to be executed using processor  222 , may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave. 
         [0113]    The processor  222  executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage  224 ), flash drive, ROM  226 , RAM  228 , or the network connectivity devices  232 . While only one processor  222  is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors. 
         [0114]    Whilst the foregoing description has described exemplary embodiments, it will be understood by those skilled in the art that many variations of the embodiment can be made within the scope and spirit of the present invention. For example, the communication networks  6 ,  10  may be a connected communication work. For another example, the method may be used for a pedestrian who travels by foot and the merchants are identified based on a mode of travel of the user, i.e. the candidate merchants are identified among those within a walking distance.