US20230283988A1 - Network system for creating and managing a session at a remote computing system - Google Patents
Network system for creating and managing a session at a remote computing system Download PDFInfo
- Publication number
- US20230283988A1 US20230283988A1 US18/115,685 US202318115685A US2023283988A1 US 20230283988 A1 US20230283988 A1 US 20230283988A1 US 202318115685 A US202318115685 A US 202318115685A US 2023283988 A1 US2023283988 A1 US 2023283988A1
- Authority
- US
- United States
- Prior art keywords
- user
- session
- entity
- network system
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000004044 response Effects 0.000 claims description 27
- 230000000977 initiatory effect Effects 0.000 abstract description 22
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 36
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
- G08G1/202—Dispatching vehicles on the basis of a location, e.g. taxi dispatching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
Definitions
- Standard computer systems deployed at entities such as restaurants, bars, merchants, and other vendors and businesses allow operators to record and process transactions, such as orders for food or drinks, or purchases for items.
- a user can place an order, the operator can provide input on the computer system, and the user can pay the total amount using a payment of choice.
- FIG. 1 is a block diagram illustrating an example network system in communication with user device and provider devices that is capable of creating a session at a remote computing system, in accordance with examples described herein;
- FIG. 2 is a flow chart describing an example method of operating an example network system, according to examples described herein;
- FIGS. 3 A- 3 B illustrate example user interfaces for a user application to request a service and to request items or services at an entity, in accordance with examples described herein;
- FIG. 4 illustrates an example user interface displayed on a terminal system for managing sessions, in accordance with examples described herein;
- FIG. 5 is a block diagram illustrating an example user device executing a designated user application for a network service, as described herein;
- FIG. 6 is a block diagram illustrating a computer system upon which examples described herein may be implemented.
- Examples herein describe a network computing system (“network system”) that utilizes user information and/or programmatically inferred contextual information associated with the user (e.g., user profile data, information pertaining to a service request, payment method or profile, etc.) to remotely trigger or initiate a session at various locations or entities for the user in order to enable the user to procure items or other services at those entities.
- network system a network computing system
- user information and/or programmatically inferred contextual information associated with the user e.g., user profile data, information pertaining to a service request, payment method or profile, etc.
- point of sale terminals or computing devices require their human operators to manually input requests for items or services made by users, and to manually open and close a transaction by swiping using a card reader device or hardware (e.g., a credit card scanner or reader coupled to or in communication with the point of sale terminals).
- the network system described herein can provide additional functionality and improve the operations of a point of sale terminal remote from the network system, for example, by (i) programmatically determining or identifying an entity(ies) for a user, such as an entity that the user is traveling to or has plans to visit in the near future, even before the user arrives at the entity, (ii) identifying the point of sale terminal(s) for the entity, and (ii) transmitting data, over a network(s) to the remote point of sale terminal using, for example, application programming interfaces or software development kits integrated with the network system and/or the point of sale terminal(s) to trigger the point of sale terminal to automatically create a session (e.g., one or more transaction records, a transaction account, etc.) for use by the user at the entity using data stored at or accessible by the network system.
- a session e.g., one or more transaction records, a transaction account, etc.
- Examples provide a distributed and networked architecture and platform that improves efficiency and throughput over existing point of sale systems.
- this distributed and networked architecture and platform can determine the user's location or information relating to a requested service (e.g., a transport service to the entity associated the terminal computing system) to remotely cause the terminal computing system to dynamically and automatically initiate and/or terminate user sessions based, at least in part, on the user's location and/or the information relating to the requested on-demand service.
- the distributed and networked architecture and platform enables the automatic creation of a session for a user at a remote system for use at an entity based on information indicating that the user is traveling to (or planning to travel to) the entity's location.
- This aspect provides a technological improvement over existing point of sale systems at least because existing bottlenecks of the point of sale system processing (e.g., operator manually inputting information into the point of sale system) can be eliminated and hardware and software resources of existing point of sale system can be more efficiently utilized. It also reduced the chance of human operator error (e.g., in inputting data), thereby reducing the need for programmatic error-checking and verifications by the point of sale system (or other processing systems).
- various components of the distributed and networked architecture and platform provide programmatic interfaces to allow specialized real-time information to be shared among the components to enable the various functionalities and improvements described herein.
- the user computing devices and service provider computing devices
- location information e.g., GPS, GLONASS
- direction information e.g., real-time compass heading
- the network system can continuously monitor the location information generated by the user computing device to identify an entity and its associated terminal computing system to which to transmit session initiation data.
- the distributed and networked architecture and platform can utilize user location information and/or information relating to the requested service to dynamically alter a mode of operation of the user application and/or dynamically update one or more user interfaces of the user application.
- the user application can be triggered to dynamically enter into additional modes of operation to provide additional functionality such as displaying menu items available for request based on information generated by various components of the platform indicating that the user is about to arrive at the entity.
- one or more user interfaces of the user application can further be dynamically updated to display relevant information such as information relating to the entity and/or available items or services for request based on, for example, the user's ETA to the destination location or the entity location.
- the distributed and networked architecture and platform enables the user to procure items and/or services without the need to separately provide a payment method or information at the entity. This can increase the security of the user's experience—for instance, the user need not exchange sensitive financial information (e.g., credit cards, debit cards) with operators at entities.
- the network system described herein enables the user to request services and order items at entities using a single application (or two or more tightly-integrated applications) executing on the user device, thereby improving the user experience.
- the network computing system can manage a network service for linking service providers (e.g., drivers, couriers, autonomous vehicles (AVs), etc.) with users requesting service (e.g., a transport service, a delivery service, etc.) in a given geographic region (e.g., a city, a metroplex such as the San Francisco Bay Area, etc.).
- service providers e.g., drivers, couriers, autonomous vehicles (AVs), etc.
- AVs autonomous vehicles
- the network system can manage a set or pool of service providers over the given geographic region, each operating a computing device (“provider devices”). In doing so, the network system can receive service requests from users via a designated user application executing on the users' mobile computing devices (“user devices”).
- the network system can identify a service provider from a set of candidate service providers and transmit a notification message (e.g., invitation or invitation notification) to the provider device of the identified or selected service provider to invite that service provider to provide or fulfill the service request.
- a notification message e.g., invitation or invitation notification
- the provider device can display information relating to the service request and the service provider can choose to accept or reject the service via a designated provider application executing on the provider device.
- the provider device transmits the response to the network system.
- the service request can indicate a start location (e.g., a pickup location), such as a location at which the service provider is to rendezvous with the requesting user, and an end or destination location (e.g., a location at which the requesting user is dropped off by the service provider).
- the start and/or destination locations can be inputted or selected from a list by the requesting user, for example, as addresses, as names of entities (e.g., restaurants, bars, vendors, merchants, retailers, venues, other establishments, etc.), or as cross streets.
- the requesting user can interact with a map interface provided within the user application to set the start and/or destination locations using a graphic feature.
- the start location can be determined programmatically by the user device based on real-time location data generated by the user device (e.g., by a GPS subsystem of the user device). In this manner, the user's current location can be automatically set as the start location.
- the service request can indicate a desired time at which the requested service is to be initiated or completed.
- Examples described herein provide for the network system to utilize available information (e.g., user profile data, information pertaining to a service request, payment method or profile, etc.) in enabling a user of the network service to seamlessly open or initiate a session at various entities, such as bars or restaurants, to procure items or other services at those entities.
- a “session” can include a set of records indicating items or services provided by one or more entities for the user, can correspond to a temporary account for use by the user to procure items or services at the one or more entities, or can correspond to a “tab” of the user for use at one or more entities.
- an entity can be associated with an entity profile (including an entity identifier) that is stored in a database accessible by the network system.
- the entity profile can include information about one or more remote computing systems (“terminal system”) that are controlled by operators of the entity.
- the network system can identify an entity based on information associated with the service request (or the resulting service provided by a service provider) and/or user profile data (e.g., user preferences, historical session data, etc.).
- Such an entity can be a location that the user is traveling to or has plans to visit in the near future (e.g., within the next hour or few hours, or later in the day, etc.).
- the network system can periodically or continuously monitor information related to the user's request to update entity(ies) identified for the user in the event the destination location of the user's service request is modified (e.g., by the user via the user application executing on the user device).
- the network system can readily update the identified entity(ies) to match the modified destination location.
- the network system can identify the terminal system(s) for the entity using the entity's identifier, and transmit a set of data (e.g., session initiation data), including user data corresponding to the user, to the terminal system at the entity's location.
- a set of data e.g., session initiation data
- the terminal system can automatically create a session (e.g., one or more transaction records, a transaction account, etc.) for use by the user at the entity.
- the user data can include an identifier of the user, the user's name, and/or a photograph of the user.
- the network system can programmatically determine when to terminate the session for the user and query the terminal system for the session data (e.g., transaction data, such as data for the items or services procured by the user, data for the quantity of such items or services, data for the cost paid, timestamp data, etc.).
- the network system can remotely cause the terminal system to terminate the session for the user by, for example, transmitting a query for the session data to the terminal system.
- an operator of the terminal system can also terminate the session for the user which can cause the terminal system to transmit the session data to the network system.
- the network system can process, or facilitate the processing of, one or more payments on behalf of the user and/or the one or more entities based on the received session data.
- the network system can present to the user, via a graphical user interface, recommendations or promotions for specific entities near the destination location that are highly relevant to the user based on the user's service request, historical user data, or other available information.
- a terminal system can be one or more point of sale terminals, servers, mobile computing devices (e.g., smartphones, tablet computers), or computer systems for use at an entity for inputting and/or processing in-person or remote transactions.
- the term “a terminal system” or “the terminal system” is not in any way intended to be restricted to single device or computer system.
- a terminal system can refer to a plurality of point of sale terminals networked with one another to function together.
- the network system can identify an entity for a user.
- the entity can be identified based on data from the service request and/or on information related to a service facilitated or arranged by the network system (e.g., in managing the user's requests for services).
- the user can input or select an entity (e.g., by name or address) as the destination location in requesting an on-demand service.
- the network system can determine an identifier of the entity (“entity identifier”) by querying a database of entities or entity profiles for the name and/or address specified by the user.
- the database of entities can be maintained by the network system or can be a third-party database (e.g., a database maintained by a third-party mapping service, etc.) accessible by the network system.
- the network system can identify an entity based on its location in relation to the destination location indicated in the user's service request. As one example, a set of entities within a predetermined distance from the destination location can be identified by the network system.
- the network system can receive a selection of one of a set of entities from the user (upon presenting the set of entities as part of a graphical user interface on the user device), or select an entity from the set of entities based on historical data of the user (and/or other users) or other data (e.g., ranking information, ratings information, etc.).
- the entity can also be identified based on an estimated time of arrival at the destination location. For instance, the network system can filter, from consideration, entities that are closed when the user is estimated to arrive at the destination location.
- the network system can further identify the entity based on user profile data, such as user preferences or past activity of the user. For instance, if the user profile data indicates that the user has preferences for a certain cuisine type, the network system can identify restaurants that match those preferences. The network system can also identify entities that the user has previously patronized or visited. If the network system identifies a set if entities based on the user profile data, the network system can present on the set of entities as part of the user interface on the user device, and prompt for and receive user input regarding the entity(ies) user intends to visit.
- user profile data such as user preferences or past activity of the user. For instance, if the user profile data indicates that the user has preferences for a certain cuisine type, the network system can identify restaurants that match those preferences. The network system can also identify entities that the user has previously patronized or visited. If the network system identifies a set if entities based on the user profile data, the network system can present on the set of entities as part of the user interface on the user device, and prompt for and receive user input regarding the
- the network system can transmit, to the user device, content data to cause the user device to display a notification or a prompt for the user to enter an input regarding the entity(ies) the user intends to visit (e.g., after a service is arranged by the network system in response to a service request from the user).
- the notification or prompt can enable the user to select an entity among the set of suitable entities that programmatically identified by the network system based on user profile data and other information.
- the network system can transmit a set of data (e.g., session initiation data), including user identification data, to a terminal system associated with the entity(ies) selected by the user to cause the terminal system to create or initiate a session for the user for use at the selected entity(ies).
- the network system can transmit session initiation data to multiple entities. For instance, the user may indicate that he or she intends to visit multiple entities after arriving at the destination location.
- the network system can transmit the session initiation data to the terminal system at the entity identified by the network system to seamlessly open one or more sessions for the user for use for requesting items and/or services provided by the entity.
- the session initiation data can include user data such as identification information for the user. Identification information can include, for example, the user's name (or a nickname), a photograph of the user, a unique graphical avatar, or other means of identifying the user.
- the terminal system can automatically create a session (e.g., a tab) for the user for use at the entity for the duration of the user's visit to the entity.
- the session can include the identification information included in the user data.
- an operator of the terminal system e.g., a cashier, a bartender, a waiter or waitress, a server, etc.
- an operator of the terminal system e.g., a cashier, a bartender, a waiter or waitress, a server, etc.
- the entity can identify the user and allow the user to request items or services under the session created for the user. For instance, the user can give his or her name to the operator to identify the user, allow the operator to identify the corresponding session for the user (e.g., by querying, on the terminal system, for the identification information), and can request items or services provided by the entity under the user's session.
- the network system can transmit content data to the user device to enable the user to request items or services provided by the entity prior to the user's arrival at the entity.
- the network system can determine to transmit such content data at appropriate times based on, for example, information associated with the service request to the destination location.
- the user can request items and/or services provided by the entity prior to the user's arrival at the destination location (e.g., while the user is traveling to the entity's location via the requested on-demand service).
- the network system can determine, based on location data transmitted by the user device and/or the provider device, and/or the user's location or the user's route of travel that the user is estimated to arrive at the destination location (and the entity's location) within the next fifteen minutes. Based on this determination, the network system can transmit, to the user device, content data to cause the user device to display a menu of items and/or services offered by the entity to enable the user to submit a request or order for items or services just prior to arriving at the entity.
- session data can be transmitted from the terminal computer system(s) at the entity to the network system.
- the network system can detect the occurrence of account-termination events indicating that the user has completed his or her visit to the entity and, in response, can query the terminal system at the entity for the session data.
- Detecting account-termination events can include, for example, detecting that the user has departed the entity based on real-time location data received from the user device, receiving another service request from the user requesting service away from the entity location to another location, or determining that the session for the user has timed out (e.g., after a predetermined duration of time).
- the terminal system can automatically terminate the session for the user and transmit session data corresponding to the user's orders to the network system.
- the session for the user can also be terminated by the operator of the terminal system at the entity by interacting with the operator interface provided on the terminal system.
- the session data can include an itemized accounting of items and/or services provided by the entity for the user during the user session.
- the session data can indicate a monetary amount corresponding to the sum of items and/or services purchased by the user.
- the session data can be encrypted by the terminal system before being transmitted to the network system.
- the network system can process, or facilitate in processing, one or more payments on behalf of the user and/or the entity for the items and/or services procured by the user.
- the network system can process the one or more payments using payment information stored with/in the user's profile associated with the network service.
- the network system can cause a payment to be charged to a payment method stored in the user's profile and disburse the payment (or a portion thereof) to the entity in the process.
- the network system can transmit encrypted payment information to a third-party financial processor (e.g., a payment processor) to process the payment.
- a third-party financial processor e.g., a payment processor
- the network system may include a recommendation component for generating recommendations and promotions (collectively referred to herein as “recommendations” for purposes of simplicity) that can be specifically tailored to the user and/or to a service arranged by the network system in response to a service request from the user.
- the network system can transmit content data to enable the user device to display recommendations of popular items available at the entity upon the initiation or creation of the user's session.
- the network system can transmit content data to enable the user device to display a recommendation regarding an entity for the user to visit.
- the user can initiate the seamless session experience without submitting a service request.
- the user can, via a user application executing on the user device, select a specific entity (e.g., a favorite entity, an entity within a specified distance from the user's current location, etc.).
- session initiation data including user data such as identification information (e.g., the user's name etc.) can be transmitted to the terminal system of the specific entity to initiate a user session.
- the user can identify himself or herself to an operator at the specific entity using the identification information to procure items and/or services at the specific entity.
- the user can further interact with the user application to procure items and/or services.
- a computing device refers to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, virtual reality (VR) or augmented reality (AR) headsets, tablet devices, television (IP Television), etc., that can provide network connectivity and processing resources for communicating with the system over a network.
- PDAs personal digital assistants
- VR virtual reality
- AR augmented reality
- a computing device can also correspond to custom hardware, in-vehicle devices, or on-board computers, etc.
- the computing device can also operate a designated application configured to communicate with the network system or network service.
- One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method.
- Programmatically means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device.
- a programmatically performed step may or may not be automatic.
- a programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions.
- a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
- computing devices including processing and memory resources.
- one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital picture frames, network equipment (e.g., routers) and tablet devices.
- PDAs personal digital assistants
- VR or AR devices printers
- digital picture frames e.g., routers
- Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
- one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium.
- Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed.
- the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions.
- Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers.
- Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory.
- Computers, terminals, network enabled devices are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
- FIG. 1 is a block diagram illustrating an example network system in communication with user device and provider devices that is capable of creating a session at a remote computing system, in accordance with examples described herein.
- the network system 100 can manage an on-demand service that connects requesting users 185 with service providers 192 that are available to fulfill the users' service requests 199 .
- the network system can provide a platform that enables on-demand services to be provided by an available service provider 192 for a requesting user 185 by way of a user application 196 executing on the user devices 195 , and a service provider application 191 executing on the provider devices 190 .
- a user device 195 and a provider device 190 can comprise a computing device with functionality to execute a designated application corresponding to the on-demand service managed by the network system 100 .
- the user device 195 and the provider device 190 can comprise mobile computing devices, such as smartphones, tablet computers, VR or AR headsets, on-board computing systems of vehicles, smart watches, and the like.
- the network system 100 can include a user device interface 115 to communicate with user devices 195 over one or more networks 180 via a user application 196 .
- a requesting user 185 wishing to utilize the service can launch the user application 196 and transmit a service request 199 over the network 180 to the network system 100 .
- the requesting user 185 can view multiple different service types managed by the network system 100 .
- service types can include a ride-share service, an economy service, a luxury service, a professional service provider service (e.g., where the service provider is certified), a self-driving vehicle service, and the like.
- the network system 100 can utilize the service provider locations 193 to provide the user devices 195 with ETA data of proximate service providers for each respective service type.
- the user application 196 can enable the user 185 to scroll through each service type.
- the network system 100 can provide ETA data on a user interface of the user app 196 that indicates an ETA of the closest service provider for the service type, and/or the locations of all proximate available service providers for that service type.
- the user interface can update to show visual representations of service providers for that service type on a map centered around the user 185 or a start location set by the user.
- the user can interact with the user interface of the user application 196 to select a particular service type, and transmit a service request 199 .
- the user device interface 115 can receive user input 198 and a user application status 177 from the user device 195 over the network 180 .
- User interactions with the user application 196 can be transmitted as user input 198 .
- Such input can include selections, text inputs, swipes, gestures, uploads, and the like.
- User application status 177 can correspond to signals or data indicating a status of the user application 196 . For instance, when the user 185 first opens the user application 196 , the user application 196 can cause the user device 195 to transmit a synchronization signal as the user application status 177 indicating that the user application is open.
- the service request 199 can include a start location at which a matched service provider 192 is to rendezvous with the requesting user 185 .
- the start location can be inputted by the user as an address or by setting a location pin on a map interface of the user application 196 , or it can be determined by a current location of the requesting user 185 (e.g., utilizing location-based resources of the user device 195 ).
- the requesting user 185 can further input a destination location, which can be the location at which the matched service provider 192 is drop-off the requesting user 185 .
- the destination location can be entered as an address, as an entity name, as a cross street, or via input on an interactive map displayed within the user application 196 .
- the network system 100 can further include a selection engine 130 to process the service requests 199 in order to identify one or more service providers 192 to service the service request 199 .
- the network system 100 can include a provider device interface 120 to communicate with the provider devices 190 via the service provider application 191 .
- the provider devices 190 can transmit real-time location information using geo-aware resources of the provider devices 190 (e.g., GPS, GLONASS, etc.). These service provider locations 193 can be utilized by the selection engine 130 to identify a set of candidate service providers 192 that can fulfill the service request 199 .
- the set of candidate service providers 192 can be identified based on an ETA to the service location, a service type, a provider type (e.g., luxury service provider, economy service provider), etc.
- the network system 100 can also identify an autonomous vehicle (AV) to service the service request 199 .
- AV autonomous vehicle
- the pool of proximate candidate service providers in relation to a start location can also include one or more AVs operating throughout the given region.
- the selection engine 130 can generate invitations 131 to each of the one or more candidate service providers 192 .
- the one or more candidate service providers 192 can accept or decline the invitations 132 via the service provider application 191 .
- the selection engine 130 can select one of the candidate service providers 192 who submitted an acceptance 194 to fulfill the service request 199 .
- the network system 100 can include a mapping engine 125 , or can utilize a third-party mapping service, to generate map data 127 and or traffic data in the environment surrounding the start location.
- the mapping engine 125 can receive the service provider locations 193 and input them onto the map data 127 .
- the map data 127 can be utilized by the selection engine 130 to identify the one or more candidate service providers 192 that are located near the start location.
- the mapping engine 130 can generate a route 126 , including turn-by-turn directions, for transmission to the service provider 192 selected to fulfill the service request 199 .
- the route 126 can include route segments from the current location of the service provider 192 to the start location, from the start location to the service location, etc.
- the route 126 can further include route guidance to intermediary stops for other service requests (e.g., intermediate stop to pick-up or drop-off another ride sharing passenger).
- the network system 100 can include a database 145 for storing information to enable the network system 100 to arrange on-demand services in response to user requests 199 and to initiate the seamless session experience for the user 185 .
- the database 145 can store user profiles 146 which can be used for both the on-demand services (e.g., a transport service) and the seamless session process.
- the database 145 can store a user profile 146 for each user 185 of the on-demand service.
- the user profiles 146 can include user preferences regarding aspects of the on-demand services and the seamless session process inputted or specified by the user 185 .
- the user profile 146 corresponding to the user 185 can indicate the user's favorite destination locations (e.g., home, work, gym, school, etc.), favorite entities (e.g., specific entities, genres of entities, etc.).
- the user profiles 146 can include past usage patterns or past activity history of the user 185 with respect to both the on-demand service and the seamless session process.
- the user profile 146 can store data regarding past service requests submitted by the user 185 , entities visited in the past by the user 185 , items or services procured by the user 185 using the seamless session process, etc.
- the user profile 146 can store payment information of the user 185 such as credit/debit card information, billing address, bank account information etc.
- the payment information can be used in the provision of on-demand services as well as in the seamless session process.
- the database 146 can store an entity profile 148 for each entity that supports the sessions opened by the network system 100 .
- the entity profile 148 can include information regarding the entity using which the entity can be queried or identified including, for example, the name, address, genre, etc. of the entity.
- the network system 100 can include a content engine 140 for generating content data 141 for transmission to the user device 195 via the user interface 115 and the network 180 .
- the generated content data 141 can rendered for display on the user device 195 as content within the user application 196 for requesting and managing the on-demand service and for facilitating the seamless session process.
- the generated content data 141 can also be rendered for display on the user device 195 as content within the second user application.
- the content engine 140 can generate the content data 141 based on service information 132 received from the selection engine 130 .
- the content data 141 transmitted to the user device 195 can cause the user device 195 to display information pertaining to the service facilitated by the network system 100 in response to the service request 199 , including an estimated time of arrival at the destination location, a map display of the route and current progress, etc.
- the network system 100 can include a session engine 135 for managing one or more sessions for the user 185 .
- the session engine 135 can receive service information 132 .
- the service information 132 can be generated by the selection engine 130 and can indicate information such as the destination location indicated by the user 185 , an estimated time of arrival at the destination location, etc.
- the session engine 135 can determine an entity identifier 149 corresponding to an entity to which to transmit session initiation data 136 to initiate the seamless session experience for the user 185 .
- the session engine 135 can determine an entity identifier 149 based on the location of the corresponding entity in relation to the destination location.
- the destination location is entered as an entity name or an address.
- the session engine 135 can query the database 145 for an entity identifier whose corresponding entity's location matches the destination location by name or address.
- the entity identifier 149 can be further determined based on user preferences indicated in the user profile 146 , received by the session engine 135 as user profile data 147 . For instance, the session engine 135 can determine an entity identifier 149 whose corresponding entity is within a certain distance of the destination location and matches user preferences regarding a genre or category (e.g., a particular type of cuisine for restaurants, etc.). In addition, the session engine 135 can identify an entity within a certain distance of the destination location based on user profile data 149 indicating that the user 185 frequently visits the entity.
- a genre or category e.g., a particular type of cuisine for restaurants, etc.
- the session engine 135 can transmit, via session interface 110 over network 180 , session initiation data 136 to a terminal system 150 at the identified entity.
- the session initiation data 136 can cause the terminal system 150 to automatically create a user session 156 for the user 185 for procuring items and/or services provided by the entity.
- the terminal system 150 can create the user session 156 for the user 185 based on session initiation data 136 received from the network system 100 .
- the session interface 110 can encrypt the session initiation data 136 and other data transmitted over network 180 .
- the session initiation data 136 can include identification information for the user 185 such as the user's name or nickname, a photograph of the user 185 , a unique graphic avatar for identifying the user 185 , etc.
- the user 185 can procure items or services seamlessly using the user session 156 .
- the user can interact with the user application 196 (or a second user application having integration with the user application 196 ) to procure items and/or services provided the entity.
- the user 185 can interact with an operator of the terminal system 150 to request items or services.
- the operator of the terminal system 150 can input, via an operator interface, records of requested items and/or services into the user's user session 156 .
- information 139 can be generated by the session engine 135 to cause the content engine 140 to generate content data 141 relating to the initialization or management of the user session 156 .
- the content engine 140 can generate content data 141 based on the information 139 to cause the user device 195 to display content that allows the user 185 to select a specific entity (e.g., as identified by entity identifier 149 ) to visit among a plurality of suggested entities.
- the session engine 135 engine can generate session initiation data 136 for transmission to terminal system 150 associated with the specific entity.
- the user device 195 can display content to allow the user 185 to submit a request for items and/or services to the entities.
- the request for item and/or services can be transmitted from the user device 195 to the terminal system 150 via the network system 100 .
- the network system 100 can enable the request to be transmitted directly from the user device 195 to the terminal system 150 .
- the network system 100 can determine, based on service information 132 , to transmit content data 141 to enable the user device 195 to display content to enable the user 185 to submit the request. In this manner, the user device 195 can display content to enable the user 185 to request items or services from the entity when the user 185 is traveling to or within a certain distance or time away from the entity, for example.
- the network system 100 can determine, based on, for example, service information 132 or user location 197 , to transmit a query 137 for session data to cause the terminal system 150 to terminate the user session 156 . In this manner, the network system 100 can determine to cause the user session 156 to be closed by the terminal system 150 based on location data 197 indicating that the user 185 is leaving or has left the entity. Additionally, the network system can determine to cause the user session 156 to be closed by the terminal system 150 based on a service request 199 from the user 185 requesting on-demand services away from the entity location. Furthermore, the network system 100 can submit the query 137 for session data based on the expiration of a timer associated with the user session 156 .
- the terminal system 150 can transmit session data 151 to the network system 100 in addition to closing the user session 156 . Still further, the operator of the terminal system 150 can also close the user session 156 using the operator interface provided by the terminal system 150 , which can transmit the session data 151 to the network system.
- the session data 151 can be encrypted before being transmitted by the terminal system 150 .
- the network system 100 in response to receiving the session data 151 , can process or facilitate in processing a payment on-behalf of the user 185 for items and/or services provided by the entity for the user 185 .
- the session data 151 can include an itemized accounting of the items and/or services procured by the user 185 .
- the session engine 135 can directly process the payment on behalf of the user 185 using payment information in the user's profile data 147 .
- the session engine 135 can transmit payment information 138 to a third-party financial processor 160 to allow the third-party financial processor 160 to process the payment.
- the network system 100 can determine to directly process the payment or to transmit the payment information 138 to the third-party financial processor 160 based on the identity of the entity visited by the user 185 .
- the network system 100 can determine based on data associated with the entity identifier 149 to directly process the payment.
- the network system 100 can retrieve information from database 145 indicating that the entity corresponding to the entity identifier 149 has completed the appropriate steps to authorize the network system 100 to directly process payments on behalf thereof.
- the network system 100 can determine to directly process the payment for the user session 156 at the entity identified by entity identifier 149 .
- the network system can determine to transmit the payment information 138 to enable the third-party financial processor 160 to process payments.
- FIG. 2 is a flow chart describing an example method of operating an example network system, according to examples described herein.
- FIG. 2 reference may be made to features and examples shown and described with respect to FIG. 1 .
- the example method shown in FIG. 2 can be performed by the network system 100 shown and discussed in FIG. 1 .
- the network system receives a service request from a user device operated by a requesting user ( 210 ).
- the service request can include an identification of a destination location (e.g., a location at which the service provider would drop-off the requesting user) ( 211 ) and a desired time ( 212 ).
- the desired time can refer to a time the service provider is to rendezvous with the requesting user or a time the service provider is to drop-off the requesting user at the destination location.
- the network system can identify an entity for the particular service request from the user.
- the entity can be identified based on information related to the service request ( 216 ).
- the network system can identify the entity based on the destination location, which can be entered as an address or as an entity name.
- the network system can query a database for the particular address or entity named entered to identify the entity.
- the network system can also query the database for entities nearby to the destination location if, for example, the destination location is entered as a cross street or as a point or selection on an interactive map displayed on the user device.
- the query performed by the network system can include a determination as to whether the entity supports the seamless session process facilitated by the network system.
- the database storing entity information (e.g., database 145 of FIG.
- the network system can store information for each entity relating to whether the terminal system at the entity supports integrations with the network system to provide the seamless session process described herein.
- the network system can further take into account information related to the requested service such as estimated time of arrival at the destination location, etc.
- the network system may initially identify a plurality of nearby entities.
- the network system can determine the entity from the plurality of nearby entities based on user profile information ( 217 ).
- the user profile information can indicate the user's specified preferences for certain specific entities or certain types or categories of entities, data indicating past user activity such as past requests for the on-demand service and/or data pertaining to past sessions.
- the network system can identify the entity based on the user profile information or remove from consideration entities that do not match the user profile information.
- the network system can include a recommendation engine to generate dynamic recommendations regarding one or more entities that may be of interest to the user near the destination location ( 218 ).
- the network system can also transmit content data to enable the user device to display a list of nearby entities supporting the seamless session process identified based on the service information, user profile information, and dynamic recommendations. In response, the user can select the entity from the list to begin the seamless session process.
- the network system can transmit session initiation data to a terminal system at the identified entity to cause the terminal system to automatically create a user session for the user ( 220 ).
- the session initiation data can include user data such as identification information such as the name or a nickname of the user, a photograph of the user, a unique graphical avatar, or other means of identifying the user.
- the user session can be used to store records of items or services provided by the entity that are procured by the user.
- the network system need not transmit payment or financial information of the user (e.g., credit card information, bank account information, etc.) to the terminal system because payment can be processed by the network system using a payment method stored with the user profile maintained by the network system. In this manner, the security of the user's sensitive financial information can be enhanced since such information need not be transmitted, stored, or exchanged at the terminal system.
- the user can procure items and/or services using the identification information included in the user data transmitted to the terminal system.
- the user can identify him or herself to an operator of the terminal system (e.g., a cashier, a waiter/waitress, a bartender, etc.) using the identification information (e.g., the user's name) to procure items or services.
- the operator can interact with the terminal system to enter information corresponding to items and/or services requested by the user to be recorded under the user's session.
- the user may be able to interact with the user application (or a related application) executing on the user device to submit requests for items and/or services at the entity.
- the network system can transmit data to the user device to enable the user device to display recommendations for items and/or promotions available at the entity.
- the user device can display promotions relating to a discounted or free service to be arranged by the network system for the user should the user's user session reflect a certain amount of purchases.
- the discounted or free service can be configured to be geo-fenced (e.g., only available from the entity location to the user's home location, etc.) and time-bound (e.g., only available at a specific time of a specific day, etc.).
- the user device can display promotions or recommendations regarding items or services available for the user at the entity.
- the network system can detect a number of account-end events ( 225 ).
- the account-end events can include a determination, based on location data received from the user device, that the user has completed his or her visit to the entity. For instance, if the location data received from the user device indicates that the user has departed the entity, the network system can determine that an account-end event has occurred.
- the network system can further receive another service request from the user device requesting on-demand services away from the entity. The network system can also treat the receipt of such a service request as an account-end event.
- the network system can transmit a query to the terminal system to cause the terminal system to close the user session for the user and to transmit session data to the network system ( 230 ).
- the network system or the terminal system may determine to close the user session based on a timeout of the user's user session. For instance, if the user session has been idle (e.g., no activity) for a certain amount of time, the network system or the terminal device can cause the user session to be closed and the session data to be transmitted to the network system.
- the operator interface on the terminal system enables the operator of the terminal system to close the user session for the user. For instance, the operator can close the user session at the request of the user or after the entity has completed its business for the day.
- the closing of the user's user session by the operator causes the terminal system to transmit session data of the user to the network system ( 235 ). If no session data is received from the terminal device via the operator's closure of the user and if no end-account event is detected, the network system can be configured to wait until such events occur.
- the network system can begin processing, or facilitate the processing of, one or more payments on behalf of the user and the entity.
- the network system can be configured to generate additional recommendations regarding other nearby entities after session data is received from the terminal system.
- the session data received by the network system from the terminal system can include an itemized accounting of the user's procured items and/or services at the entity.
- the session data can be processed in different manners depending on the implementation and/or the entity.
- the network system can include a component or sub-system to process one or more payments on behalf of the user and the entity ( 217 ).
- the network system can process the one or more payments using payment information stored in the user's user profile maintained by the network system (e.g., user profile associated with the on-demand service).
- the network system can transmit payment data (e.g., amount to be charged, user's payment information) to a third-party payment processor to process the one or more payments on behalf of the user and the entity ( 242 ).
- the payment data can be encrypted before being transmitted from the network system to the third-party payment processor.
- the network system can dynamically determine whether to process the payment or to transmit data to a third-party financial payment processor to process the payment. Such a determination can be based on the identity of the entity. For instance, a particular entity may not have completed the necessary steps (e.g., signing contractual agreements, etc.) to allow payments to the particular entity to be processed directly by the network system. In such a scenario, the network system can determine, based on the identity of the particular entity, to transmit payment data to the third-party payment processor rather than attempting to process a payment on behalf of the entity.
- FIGS. 3 A- 3 B illustrate example user interfaces for a user application to request a service and to request items or services at an entity, in accordance with examples described herein.
- the exemplary user interface 300 can be displayed by a user device (e.g., user device 195 of FIG. 1 ) to enable the user to transmit and manage a service request.
- the user interface 300 can include input features 310 to receive textual user input regarding a start location and a destination location.
- the user interface 300 can include a map feature 320 to display an interactive map to allow the user to select the start and/or destination locations via the map feature 320 .
- the user can tap feature 330 to set a start location.
- the user can select a class of service (e.g., economy service, luxury service, ride-pool service) via a class of service selector 340 .
- a class of service e.g., economy service, luxury service, ride-pool service
- the exemplary user interface 300 further includes a feature 350 to establish a user session for the user at entity nearby to the user or nearby to the user's destination location. For instance, by selecting feature 350 via a soft selection, the user can be presented with a list of nearby entities from which to select. In response to the user selection, the network system can transmit user data to the appropriate terminal system such that the terminal system can automatically create a user session for the user.
- the exemplary user interface 350 can be displayed by the user device to enable the user to request items or services.
- the user interface 350 can display a list of recommended items for the user based on user preferences.
- the user interface 350 can display a list of popular items offered by the entity.
- the user interface 350 can be displayed on the user device once the user is traveling to the entity and/or after the user has arrived at the entity.
- Feature 360 can correspond to a request for a specific item offered by the entity.
- the feature 360 can display a visual graphic of the specific item, a name of the specific item, and a corresponding price.
- the network system can transmit the request to the terminal system at the entity. In some examples, the request can be transmitted directly from the user device to the terminal device without being intermediated by the network system.
- FIG. 4 illustrates an example user interface displayed on a terminal system for managing sessions, in accordance with examples described herein.
- Example operator interface 400 can be displayed by a terminal device (e.g., terminal device 150 of FIG. 1 ) to allow an operator of the terminal device to manage user sessions.
- the operator interface 400 includes an itemized display 410 of items or services requested by the user.
- the operator interface 400 further includes a summary display 420 for conveying a summary (e.g., subtotal, tax, and total amount, etc.) of the user session.
- the operator interface 400 includes a feature 430 to enable the operator to open a user session for a user and a feature 440 to enable the operator to close an existing user session.
- FIG. 5 is a block diagram illustrating an example user device executing a designated user application for a network service, as described herein.
- the user device 500 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like.
- the user device 500 can include typical telephony features such as a microphone 545 , a camera 550 , and a communication interface 510 to communicate with external entities using any number of wireless communication protocols.
- the user device 500 can store a designated application (e.g., a user app 532 ) in a local memory 530 .
- a designated application e.g., a user app 532
- the user device 500 further store information corresponding to a contacts list 534 , and calendar appointments 536 in the local memory 530 .
- the memory 530 can store additional applications executable by one or more processors 540 of the user device 500 , enabling access and interaction with one or more host servers over one or more networks 580 .
- the user app 532 can be executed by a processor 540 , which can cause an app interface 542 to be generated on a display screen 520 of the user device 500 .
- the app interface 542 can enable the user to, for example, check current price levels and availability for the on-demand service.
- the app interface 542 can further enable the user to select from multiple ride service types, such as a carpooling service type, a regular ride-sharing service type, a professional ride service type, a van service type, a luxurious ride service type, and the like.
- the user can generate a service request 567 via user inputs 518 provided on the app interface 542 .
- the user can select or input a start location, select or input a destination location, view the various available service types and their respective estimated pricing, and select a particular service.
- the user can input the destination prior to rendezvousing with the service provider.
- the user application 532 can further enable a communication link with a network system 590 over the network 580 , such as the network system 100 as shown and described with respect to FIG. 1 .
- the processor 540 can generate user interface features 528 (e.g., map, trip progress bar, content cards, etc.) using content data 526 received from the network system 590 over network 580 .
- the user application 532 can enable the network system 590 to cause the generated user interface 528 to be displayed on the application interface 542 .
- the processor 540 can transmit the service requests 567 via a communications interface 510 to the backend network system 590 over a network 580 .
- the user device 500 can receive a confirmation 569 from the network system 590 indicating the selected service provider and vehicle that will service the service request 567 and rendezvous with the user at the start location.
- the user device 500 can further include a GPS module 560 , which can provide location data 562 indicating the current location of the requesting user to the network system 590 to, for example, establish the start location and/or select an optimal service provider or autonomous vehicle to service the service request 567 .
- FIG. 6 is a block diagram illustrating a computer system upon which examples described herein may be implemented.
- a computer system 600 can be implemented on, for example, a server or combination of servers.
- the computer system 600 may be implemented as part of a service for providing on-demand services.
- the network system 100 may be implemented using a computer system 600 such as described by FIG. 6 .
- the network system 100 may also be implemented using a combination of multiple computer systems as described in connection with FIG. 6 .
- the computer system 600 includes processing resources 610 , a main memory 620 , a read-only memory (ROM) 630 , a storage device 640 , and a communication interface 650 .
- the computer system 600 includes at least one processor 610 for processing information stored in the main memory 620 , such as provided by a random access memory (RAM) or other dynamic storage device, for storing information and instructions which are executable by the processor 610 .
- the main memory 620 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 610 .
- the computer system 600 may also include the ROM 630 or other static storage device for storing static information and instructions for the processor 610 .
- a storage device 640 such as a magnetic disk or optical disk, is provided for storing information and instructions.
- the communication interface 650 enables the computer system 600 to communicate with one or more networks 680 (e.g., cellular network) through use of the network link (wireless or wired). Using the network link, the computer system 600 can communicate with one or more computing devices, one or more servers, and/or one or more self-driving vehicles. In accordance with examples, the computer system 600 receives service requests 682 from mobile computing devices of individual users.
- the executable instructions stored in the memory 630 can include selection instructions 622 , which the processor 610 executes to select an optimal drive to service the service request 682 .
- the computer system can receive service provider locations 684 of service providers operating throughout the given region, and the processor can execute the selection instructions 622 to select an optimal service provider from a set of available service providers, and transmit a service invitation 652 to enable the service provider to accept or decline the ride service offer.
- the executable instructions stored in the memory 620 can also include session management instructions 624 , which enable the computer system 600 to initiate, manage, terminate, and/or process the user sessions described herein.
- the session management instructions 624 can cause the computer system 600 to transmit session initiation data to one or more terminal systems at an entity to initiate or open a user session.
- the session management instructions 624 can further cause the computer system 600 to transmit queries 653 to cause the one or more terminal systems to terminate or close the user session and transmit session data 683 to the computer system 600 .
- the session management instructions 624 can further cause the computer system 600 to process received session data 683 .
- the instructions and data stored in the memory 620 can be executed by the processor 610 to implement an example network system 100 of FIG. 1 .
- the processor 610 can receive service requests 682 and service provider locations 684 , and submit service invitations 652 to facilitate the servicing of the requests 682 .
- the processor 610 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described by FIGS. 1 - 4 , and elsewhere in the present application.
- Examples described herein are related to the use of the computer system 600 for implementing the techniques described herein. According to one example, those techniques are performed by the computer system 600 in response to the processor 610 executing one or more sequences of one or more instructions contained in the main memory 620 . Such instructions may be read into the main memory 620 from another machine-readable medium, such as the storage device 640 . Execution of the sequences of instructions contained in the main memory 620 causes the processor 610 to perform the process steps described herein. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to implement examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
A network system for managing an on-demand service can receive, from a user, a service request indicating a destination location. In addition to facilitating available service providers to fulfill the service request, the network system can create and manage a session for the user for an entity identified based on, for example, the destination location. The session for the user can be used to procure items and/or services provided by the entity. The network system can transmit, to terminal computing system(s) associated with the entity, session initiation data that includes user data such as identification information to identify the user. The transmission of the session initiation data can cause the terminal computing system(s) to automatically create the session for the user. In addition, the network system can receive, from the terminal computing system(s), session data upon termination of the session for the user.
Description
- This application is a continuation of U.S. patent application Ser. No. 16/298,062 filed Mar. 11, 2019, which is a continuation of U.S. patent application Ser. No. 15/663,597, filed Jul. 28, 2017, now U.S. Pat. No. 10,271,176; the aforementioned priority applications being hereby incorporated by reference in their respective entireties.
- Standard computer systems deployed at entities such as restaurants, bars, merchants, and other vendors and businesses (e.g., point of sale terminals, etc.) allow operators to record and process transactions, such as orders for food or drinks, or purchases for items. Typically, a user can place an order, the operator can provide input on the computer system, and the user can pay the total amount using a payment of choice.
- The disclosure herein is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements, and in which:
-
FIG. 1 is a block diagram illustrating an example network system in communication with user device and provider devices that is capable of creating a session at a remote computing system, in accordance with examples described herein; -
FIG. 2 is a flow chart describing an example method of operating an example network system, according to examples described herein; -
FIGS. 3A-3B illustrate example user interfaces for a user application to request a service and to request items or services at an entity, in accordance with examples described herein; -
FIG. 4 illustrates an example user interface displayed on a terminal system for managing sessions, in accordance with examples described herein; -
FIG. 5 is a block diagram illustrating an example user device executing a designated user application for a network service, as described herein; and -
FIG. 6 is a block diagram illustrating a computer system upon which examples described herein may be implemented. - Examples herein describe a network computing system (“network system”) that utilizes user information and/or programmatically inferred contextual information associated with the user (e.g., user profile data, information pertaining to a service request, payment method or profile, etc.) to remotely trigger or initiate a session at various locations or entities for the user in order to enable the user to procure items or other services at those entities. Currently, point of sale terminals or computing devices require their human operators to manually input requests for items or services made by users, and to manually open and close a transaction by swiping using a card reader device or hardware (e.g., a credit card scanner or reader coupled to or in communication with the point of sale terminals). The network system described herein can provide additional functionality and improve the operations of a point of sale terminal remote from the network system, for example, by (i) programmatically determining or identifying an entity(ies) for a user, such as an entity that the user is traveling to or has plans to visit in the near future, even before the user arrives at the entity, (ii) identifying the point of sale terminal(s) for the entity, and (ii) transmitting data, over a network(s) to the remote point of sale terminal using, for example, application programming interfaces or software development kits integrated with the network system and/or the point of sale terminal(s) to trigger the point of sale terminal to automatically create a session (e.g., one or more transaction records, a transaction account, etc.) for use by the user at the entity using data stored at or accessible by the network system.
- Examples provide a distributed and networked architecture and platform that improves efficiency and throughput over existing point of sale systems. In one aspect, this distributed and networked architecture and platform can determine the user's location or information relating to a requested service (e.g., a transport service to the entity associated the terminal computing system) to remotely cause the terminal computing system to dynamically and automatically initiate and/or terminate user sessions based, at least in part, on the user's location and/or the information relating to the requested on-demand service. For example, the distributed and networked architecture and platform enables the automatic creation of a session for a user at a remote system for use at an entity based on information indicating that the user is traveling to (or planning to travel to) the entity's location. It also enables the automatic termination of the session based on information indicating that the user is leaving the entity (e.g., by comparing location data associated with the user and the entity's location, or by receiving a service request by the user in traveling away from the entity's location, etc.). This aspect provides a technological improvement over existing point of sale systems at least because existing bottlenecks of the point of sale system processing (e.g., operator manually inputting information into the point of sale system) can be eliminated and hardware and software resources of existing point of sale system can be more efficiently utilized. It also reduced the chance of human operator error (e.g., in inputting data), thereby reducing the need for programmatic error-checking and verifications by the point of sale system (or other processing systems).
- As described throughout, in contrast with conventional point of sale systems, various components of the distributed and networked architecture and platform provide programmatic interfaces to allow specialized real-time information to be shared among the components to enable the various functionalities and improvements described herein. For instance, the user computing devices (and service provider computing devices) provide programmatic interfaces to permit the network system to access a variety of real-time information generated by the user computing devices, including location information (e.g., GPS, GLONASS) or direction information (e.g., real-time compass heading), to enable the programmatic identification of entities and initiation of user sessions based on such information. For instance, the network system can continuously monitor the location information generated by the user computing device to identify an entity and its associated terminal computing system to which to transmit session initiation data.
- The distributed and networked architecture and platform can utilize user location information and/or information relating to the requested service to dynamically alter a mode of operation of the user application and/or dynamically update one or more user interfaces of the user application. For instance, the user application can be triggered to dynamically enter into additional modes of operation to provide additional functionality such as displaying menu items available for request based on information generated by various components of the platform indicating that the user is about to arrive at the entity. In addition, one or more user interfaces of the user application can further be dynamically updated to display relevant information such as information relating to the entity and/or available items or services for request based on, for example, the user's ETA to the destination location or the entity location. These aspects of the user application and the platform enable the user to seamlessly request items and/or services offered by the entity before the user arrives at the entity. Information relating to the user's selection of items and/or services to request can be transmitted to the terminal computing system at the entity. This context-based capability and user experience (including the dynamic user interfaces discussed herein) represent another technology-based improvement over conventional point of sale systems.
- Still further, the distributed and networked architecture and platform enables the user to procure items and/or services without the need to separately provide a payment method or information at the entity. This can increase the security of the user's experience—for instance, the user need not exchange sensitive financial information (e.g., credit cards, debit cards) with operators at entities. Furthermore, the network system described herein enables the user to request services and order items at entities using a single application (or two or more tightly-integrated applications) executing on the user device, thereby improving the user experience.
- The network computing system can manage a network service for linking service providers (e.g., drivers, couriers, autonomous vehicles (AVs), etc.) with users requesting service (e.g., a transport service, a delivery service, etc.) in a given geographic region (e.g., a city, a metroplex such as the San Francisco Bay Area, etc.). The network system can manage a set or pool of service providers over the given geographic region, each operating a computing device (“provider devices”). In doing so, the network system can receive service requests from users via a designated user application executing on the users' mobile computing devices (“user devices”). In response to receiving a request, the network system can identify a service provider from a set of candidate service providers and transmit a notification message (e.g., invitation or invitation notification) to the provider device of the identified or selected service provider to invite that service provider to provide or fulfill the service request. Upon receiving the invitation notification, the provider device can display information relating to the service request and the service provider can choose to accept or reject the service via a designated provider application executing on the provider device. The provider device transmits the response to the network system.
- In various aspects, the service request can indicate a start location (e.g., a pickup location), such as a location at which the service provider is to rendezvous with the requesting user, and an end or destination location (e.g., a location at which the requesting user is dropped off by the service provider). The start and/or destination locations can be inputted or selected from a list by the requesting user, for example, as addresses, as names of entities (e.g., restaurants, bars, vendors, merchants, retailers, venues, other establishments, etc.), or as cross streets. In addition, in another example, the requesting user can interact with a map interface provided within the user application to set the start and/or destination locations using a graphic feature. Furthermore, the start location can be determined programmatically by the user device based on real-time location data generated by the user device (e.g., by a GPS subsystem of the user device). In this manner, the user's current location can be automatically set as the start location. Additionally, in one example, the service request can indicate a desired time at which the requested service is to be initiated or completed.
- Examples described herein provide for the network system to utilize available information (e.g., user profile data, information pertaining to a service request, payment method or profile, etc.) in enabling a user of the network service to seamlessly open or initiate a session at various entities, such as bars or restaurants, to procure items or other services at those entities. As described herein, a “session” can include a set of records indicating items or services provided by one or more entities for the user, can correspond to a temporary account for use by the user to procure items or services at the one or more entities, or can correspond to a “tab” of the user for use at one or more entities. Also as described herein, an entity can be associated with an entity profile (including an entity identifier) that is stored in a database accessible by the network system. The entity profile can include information about one or more remote computing systems (“terminal system”) that are controlled by operators of the entity. According to one example, the network system can identify an entity based on information associated with the service request (or the resulting service provided by a service provider) and/or user profile data (e.g., user preferences, historical session data, etc.). Such an entity can be a location that the user is traveling to or has plans to visit in the near future (e.g., within the next hour or few hours, or later in the day, etc.). The network system can periodically or continuously monitor information related to the user's request to update entity(ies) identified for the user in the event the destination location of the user's service request is modified (e.g., by the user via the user application executing on the user device). For instance, in the event that the user modifies the destination location while the service is being rendered by the service provider, the network system can readily update the identified entity(ies) to match the modified destination location. The network system can identify the terminal system(s) for the entity using the entity's identifier, and transmit a set of data (e.g., session initiation data), including user data corresponding to the user, to the terminal system at the entity's location. In response to receiving the set of data from the network system, the terminal system can automatically create a session (e.g., one or more transaction records, a transaction account, etc.) for use by the user at the entity.
- According to an example, the user data can include an identifier of the user, the user's name, and/or a photograph of the user. Furthermore, the network system can programmatically determine when to terminate the session for the user and query the terminal system for the session data (e.g., transaction data, such as data for the items or services procured by the user, data for the quantity of such items or services, data for the cost paid, timestamp data, etc.). In one example, the network system can remotely cause the terminal system to terminate the session for the user by, for example, transmitting a query for the session data to the terminal system. In another example, an operator of the terminal system can also terminate the session for the user which can cause the terminal system to transmit the session data to the network system. The network system can process, or facilitate the processing of, one or more payments on behalf of the user and/or the one or more entities based on the received session data. As an addition or an alternative, the network system can present to the user, via a graphical user interface, recommendations or promotions for specific entities near the destination location that are highly relevant to the user based on the user's service request, historical user data, or other available information.
- As used herein, a terminal system can be one or more point of sale terminals, servers, mobile computing devices (e.g., smartphones, tablet computers), or computer systems for use at an entity for inputting and/or processing in-person or remote transactions. The term “a terminal system” or “the terminal system” is not in any way intended to be restricted to single device or computer system. For instance, a terminal system can refer to a plurality of point of sale terminals networked with one another to function together.
- As described above, the network system can identify an entity for a user. According to embodiments, the entity can be identified based on data from the service request and/or on information related to a service facilitated or arranged by the network system (e.g., in managing the user's requests for services). In certain examples, the user can input or select an entity (e.g., by name or address) as the destination location in requesting an on-demand service. The network system can determine an identifier of the entity (“entity identifier”) by querying a database of entities or entity profiles for the name and/or address specified by the user. The database of entities can be maintained by the network system or can be a third-party database (e.g., a database maintained by a third-party mapping service, etc.) accessible by the network system. In another example, the network system can identify an entity based on its location in relation to the destination location indicated in the user's service request. As one example, a set of entities within a predetermined distance from the destination location can be identified by the network system. Still further, depending on implementation, the network system can receive a selection of one of a set of entities from the user (upon presenting the set of entities as part of a graphical user interface on the user device), or select an entity from the set of entities based on historical data of the user (and/or other users) or other data (e.g., ranking information, ratings information, etc.). In addition, the entity can also be identified based on an estimated time of arrival at the destination location. For instance, the network system can filter, from consideration, entities that are closed when the user is estimated to arrive at the destination location.
- In certain implementations, the network system can further identify the entity based on user profile data, such as user preferences or past activity of the user. For instance, if the user profile data indicates that the user has preferences for a certain cuisine type, the network system can identify restaurants that match those preferences. The network system can also identify entities that the user has previously patronized or visited. If the network system identifies a set if entities based on the user profile data, the network system can present on the set of entities as part of the user interface on the user device, and prompt for and receive user input regarding the entity(ies) user intends to visit. For example, the network system can transmit, to the user device, content data to cause the user device to display a notification or a prompt for the user to enter an input regarding the entity(ies) the user intends to visit (e.g., after a service is arranged by the network system in response to a service request from the user). The notification or prompt can enable the user to select an entity among the set of suitable entities that programmatically identified by the network system based on user profile data and other information. In response to the user input, the network system can transmit a set of data (e.g., session initiation data), including user identification data, to a terminal system associated with the entity(ies) selected by the user to cause the terminal system to create or initiate a session for the user for use at the selected entity(ies). In some examples, the network system can transmit session initiation data to multiple entities. For instance, the user may indicate that he or she intends to visit multiple entities after arriving at the destination location.
- According to embodiments, upon identifying the entity, the network system can transmit the session initiation data to the terminal system at the entity identified by the network system to seamlessly open one or more sessions for the user for use for requesting items and/or services provided by the entity. The session initiation data can include user data such as identification information for the user. Identification information can include, for example, the user's name (or a nickname), a photograph of the user, a unique graphical avatar, or other means of identifying the user. In response to receiving the session initiation data, the terminal system can automatically create a session (e.g., a tab) for the user for use at the entity for the duration of the user's visit to the entity. The session can include the identification information included in the user data. Using the identification information, an operator of the terminal system (e.g., a cashier, a bartender, a waiter or waitress, a server, etc.) at the entity can identify the user and allow the user to request items or services under the session created for the user. For instance, the user can give his or her name to the operator to identify the user, allow the operator to identify the corresponding session for the user (e.g., by querying, on the terminal system, for the identification information), and can request items or services provided by the entity under the user's session.
- In one example, the network system can transmit content data to the user device to enable the user to request items or services provided by the entity prior to the user's arrival at the entity. The network system can determine to transmit such content data at appropriate times based on, for example, information associated with the service request to the destination location. In this manner, the user can request items and/or services provided by the entity prior to the user's arrival at the destination location (e.g., while the user is traveling to the entity's location via the requested on-demand service). For instance, the network system can determine, based on location data transmitted by the user device and/or the provider device, and/or the user's location or the user's route of travel that the user is estimated to arrive at the destination location (and the entity's location) within the next fifteen minutes. Based on this determination, the network system can transmit, to the user device, content data to cause the user device to display a menu of items and/or services offered by the entity to enable the user to submit a request or order for items or services just prior to arriving at the entity.
- Once the user completes his or her visit to the entity, session data can be transmitted from the terminal computer system(s) at the entity to the network system. According to embodiments, the network system can detect the occurrence of account-termination events indicating that the user has completed his or her visit to the entity and, in response, can query the terminal system at the entity for the session data. Detecting account-termination events can include, for example, detecting that the user has departed the entity based on real-time location data received from the user device, receiving another service request from the user requesting service away from the entity location to another location, or determining that the session for the user has timed out (e.g., after a predetermined duration of time). Upon receipt of the query from the network system, the terminal system can automatically terminate the session for the user and transmit session data corresponding to the user's orders to the network system. In another example, the session for the user can also be terminated by the operator of the terminal system at the entity by interacting with the operator interface provided on the terminal system.
- According to embodiments, the session data can include an itemized accounting of items and/or services provided by the entity for the user during the user session. As an addition or an alternative, the session data can indicate a monetary amount corresponding to the sum of items and/or services purchased by the user. The session data can be encrypted by the terminal system before being transmitted to the network system. In response to receiving the session data, the network system can process, or facilitate in processing, one or more payments on behalf of the user and/or the entity for the items and/or services procured by the user. In some examples, the network system can process the one or more payments using payment information stored with/in the user's profile associated with the network service. The network system can cause a payment to be charged to a payment method stored in the user's profile and disburse the payment (or a portion thereof) to the entity in the process. In other examples, the network system can transmit encrypted payment information to a third-party financial processor (e.g., a payment processor) to process the payment.
- In certain implementations, the network system may include a recommendation component for generating recommendations and promotions (collectively referred to herein as “recommendations” for purposes of simplicity) that can be specifically tailored to the user and/or to a service arranged by the network system in response to a service request from the user. In one aspect, the network system can transmit content data to enable the user device to display recommendations of popular items available at the entity upon the initiation or creation of the user's session. In another aspect, the network system can transmit content data to enable the user device to display a recommendation regarding an entity for the user to visit.
- In one implementation, the user can initiate the seamless session experience without submitting a service request. Instead, the user can, via a user application executing on the user device, select a specific entity (e.g., a favorite entity, an entity within a specified distance from the user's current location, etc.). In response, session initiation data including user data such as identification information (e.g., the user's name etc.) can be transmitted to the terminal system of the specific entity to initiate a user session. The user can identify himself or herself to an operator at the specific entity using the identification information to procure items and/or services at the specific entity. In addition, the user can further interact with the user application to procure items and/or services.
- As used herein, a computing device refers to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, virtual reality (VR) or augmented reality (AR) headsets, tablet devices, television (IP Television), etc., that can provide network connectivity and processing resources for communicating with the system over a network. A computing device can also correspond to custom hardware, in-vehicle devices, or on-board computers, etc. The computing device can also operate a designated application configured to communicate with the network system or network service.
- One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
- One or more examples described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
- Some examples described herein can generally require the use of computing devices, including processing and memory resources. For example, one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital picture frames, network equipment (e.g., routers) and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).
- Furthermore, one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed. In particular, the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
- System Descriptions
-
FIG. 1 is a block diagram illustrating an example network system in communication with user device and provider devices that is capable of creating a session at a remote computing system, in accordance with examples described herein. Thenetwork system 100 can manage an on-demand service that connects requesting users 185 withservice providers 192 that are available to fulfill the users' service requests 199. The network system can provide a platform that enables on-demand services to be provided by anavailable service provider 192 for a requesting user 185 by way of a user application 196 executing on the user devices 195, and aservice provider application 191 executing on theprovider devices 190. As used herein, a user device 195 and aprovider device 190 can comprise a computing device with functionality to execute a designated application corresponding to the on-demand service managed by thenetwork system 100. In many examples, the user device 195 and theprovider device 190 can comprise mobile computing devices, such as smartphones, tablet computers, VR or AR headsets, on-board computing systems of vehicles, smart watches, and the like. - The
network system 100 can include a user device interface 115 to communicate with user devices 195 over one ormore networks 180 via a user application 196. According to examples, a requesting user 185 wishing to utilize the service can launch the user application 196 and transmit aservice request 199 over thenetwork 180 to thenetwork system 100. In certain implementations, the requesting user 185 can view multiple different service types managed by thenetwork system 100. In the context of an on-demand transport service, service types can include a ride-share service, an economy service, a luxury service, a professional service provider service (e.g., where the service provider is certified), a self-driving vehicle service, and the like. Thenetwork system 100 can utilize theservice provider locations 193 to provide the user devices 195 with ETA data of proximate service providers for each respective service type. For instance, the user application 196 can enable the user 185 to scroll through each service type. In response to a soft selection of a particular service type, thenetwork system 100 can provide ETA data on a user interface of the user app 196 that indicates an ETA of the closest service provider for the service type, and/or the locations of all proximate available service providers for that service type. As the user scrolls through each service type, the user interface can update to show visual representations of service providers for that service type on a map centered around the user 185 or a start location set by the user. The user can interact with the user interface of the user application 196 to select a particular service type, and transmit aservice request 199. - In certain implementations, the user device interface 115 can receive
user input 198 and auser application status 177 from the user device 195 over thenetwork 180. User interactions with the user application 196, including with any content displayed therein, can be transmitted asuser input 198. Such input can include selections, text inputs, swipes, gestures, uploads, and the like.User application status 177 can correspond to signals or data indicating a status of the user application 196. For instance, when the user 185 first opens the user application 196, the user application 196 can cause the user device 195 to transmit a synchronization signal as theuser application status 177 indicating that the user application is open. - In some examples, the
service request 199 can include a start location at which a matchedservice provider 192 is to rendezvous with the requesting user 185. The start location can be inputted by the user as an address or by setting a location pin on a map interface of the user application 196, or it can be determined by a current location of the requesting user 185 (e.g., utilizing location-based resources of the user device 195). Additionally, the requesting user 185 can further input a destination location, which can be the location at which the matchedservice provider 192 is drop-off the requesting user 185. The destination location can be entered as an address, as an entity name, as a cross street, or via input on an interactive map displayed within the user application 196. - In various implementations, the
network system 100 can further include aselection engine 130 to process the service requests 199 in order to identify one ormore service providers 192 to service theservice request 199. Thenetwork system 100 can include aprovider device interface 120 to communicate with theprovider devices 190 via theservice provider application 191. In accordance with various examples, theprovider devices 190 can transmit real-time location information using geo-aware resources of the provider devices 190 (e.g., GPS, GLONASS, etc.). Theseservice provider locations 193 can be utilized by theselection engine 130 to identify a set ofcandidate service providers 192 that can fulfill theservice request 199. The set ofcandidate service providers 192 can be identified based on an ETA to the service location, a service type, a provider type (e.g., luxury service provider, economy service provider), etc. In certain implementations, thenetwork system 100 can also identify an autonomous vehicle (AV) to service theservice request 199. Thus, the pool of proximate candidate service providers in relation to a start location can also include one or more AVs operating throughout the given region. - Once one or more
candidate service providers 192 are identified by theselection engine 130, theselection engine 130 can generateinvitations 131 to each of the one or morecandidate service providers 192. Upon receiving theinvitations 131, the one or morecandidate service providers 192 can accept or decline theinvitations 132 via theservice provider application 191. Upon receivingacceptances 194 from theprovider devices 190, theselection engine 130 can select one of thecandidate service providers 192 who submitted anacceptance 194 to fulfill theservice request 199. - In some aspects, the
network system 100 can include amapping engine 125, or can utilize a third-party mapping service, to generatemap data 127 and or traffic data in the environment surrounding the start location. Themapping engine 125 can receive theservice provider locations 193 and input them onto themap data 127. Themap data 127 can be utilized by theselection engine 130 to identify the one or morecandidate service providers 192 that are located near the start location. In addition, themapping engine 130 can generate aroute 126, including turn-by-turn directions, for transmission to theservice provider 192 selected to fulfill theservice request 199. Theroute 126 can include route segments from the current location of theservice provider 192 to the start location, from the start location to the service location, etc. Theroute 126 can further include route guidance to intermediary stops for other service requests (e.g., intermediate stop to pick-up or drop-off another ride sharing passenger). - In some examples, the
network system 100 can include adatabase 145 for storing information to enable thenetwork system 100 to arrange on-demand services in response touser requests 199 and to initiate the seamless session experience for the user 185. Thedatabase 145 can store user profiles 146 which can be used for both the on-demand services (e.g., a transport service) and the seamless session process. Thedatabase 145 can store a user profile 146 for each user 185 of the on-demand service. The user profiles 146 can include user preferences regarding aspects of the on-demand services and the seamless session process inputted or specified by the user 185. For instance, the user profile 146 corresponding to the user 185 can indicate the user's favorite destination locations (e.g., home, work, gym, school, etc.), favorite entities (e.g., specific entities, genres of entities, etc.). In addition, the user profiles 146 can include past usage patterns or past activity history of the user 185 with respect to both the on-demand service and the seamless session process. For instance, the user profile 146 can store data regarding past service requests submitted by the user 185, entities visited in the past by the user 185, items or services procured by the user 185 using the seamless session process, etc. In addition, the user profile 146 can store payment information of the user 185 such as credit/debit card information, billing address, bank account information etc. The payment information can be used in the provision of on-demand services as well as in the seamless session process. In addition, the database 146 can store anentity profile 148 for each entity that supports the sessions opened by thenetwork system 100. Theentity profile 148 can include information regarding the entity using which the entity can be queried or identified including, for example, the name, address, genre, etc. of the entity. - In some examples, the
network system 100 can include acontent engine 140 for generatingcontent data 141 for transmission to the user device 195 via the user interface 115 and thenetwork 180. The generatedcontent data 141 can rendered for display on the user device 195 as content within the user application 196 for requesting and managing the on-demand service and for facilitating the seamless session process. In certain examples in which the seamless session process is facilitated and managed by a second user application (not shown onFIG. 1 ) executing on the user device 195, the generatedcontent data 141 can also be rendered for display on the user device 195 as content within the second user application. Thecontent engine 140 can generate thecontent data 141 based onservice information 132 received from theselection engine 130. For instance, thecontent data 141 transmitted to the user device 195 can cause the user device 195 to display information pertaining to the service facilitated by thenetwork system 100 in response to theservice request 199, including an estimated time of arrival at the destination location, a map display of the route and current progress, etc. - According to embodiments, the
network system 100 can include asession engine 135 for managing one or more sessions for the user 185. To do so, thesession engine 135 can receiveservice information 132. Theservice information 132 can be generated by theselection engine 130 and can indicate information such as the destination location indicated by the user 185, an estimated time of arrival at the destination location, etc. Based on theservice information 132, thesession engine 135 can determine anentity identifier 149 corresponding to an entity to which to transmitsession initiation data 136 to initiate the seamless session experience for the user 185. For instance, thesession engine 135 can determine anentity identifier 149 based on the location of the corresponding entity in relation to the destination location. In some examples, the destination location is entered as an entity name or an address. In response to receiving theservice information 132, thesession engine 135 can query thedatabase 145 for an entity identifier whose corresponding entity's location matches the destination location by name or address. In certain examples, theentity identifier 149 can be further determined based on user preferences indicated in the user profile 146, received by thesession engine 135 asuser profile data 147. For instance, thesession engine 135 can determine anentity identifier 149 whose corresponding entity is within a certain distance of the destination location and matches user preferences regarding a genre or category (e.g., a particular type of cuisine for restaurants, etc.). In addition, thesession engine 135 can identify an entity within a certain distance of the destination location based onuser profile data 149 indicating that the user 185 frequently visits the entity. - In an example, after determining the
entity identifier 149, thesession engine 135 can transmit, viasession interface 110 overnetwork 180,session initiation data 136 to aterminal system 150 at the identified entity. Thesession initiation data 136 can cause theterminal system 150 to automatically create a user session 156 for the user 185 for procuring items and/or services provided by the entity. Theterminal system 150 can create the user session 156 for the user 185 based onsession initiation data 136 received from thenetwork system 100. Thesession interface 110 can encrypt thesession initiation data 136 and other data transmitted overnetwork 180. Thesession initiation data 136 can include identification information for the user 185 such as the user's name or nickname, a photograph of the user 185, a unique graphic avatar for identifying the user 185, etc. - After the creation of the user session 156 for the user 185, the user 185 can procure items or services seamlessly using the user session 156. For instance, the user can interact with the user application 196 (or a second user application having integration with the user application 196) to procure items and/or services provided the entity. In addition, the user 185 can interact with an operator of the
terminal system 150 to request items or services. The operator of theterminal system 150 can input, via an operator interface, records of requested items and/or services into the user's user session 156. - According to one implementation,
information 139 can be generated by thesession engine 135 to cause thecontent engine 140 to generatecontent data 141 relating to the initialization or management of the user session 156. For instance, thecontent engine 140 can generatecontent data 141 based on theinformation 139 to cause the user device 195 to display content that allows the user 185 to select a specific entity (e.g., as identified by entity identifier 149) to visit among a plurality of suggested entities. In response, thesession engine 135 engine can generatesession initiation data 136 for transmission toterminal system 150 associated with the specific entity. In addition, based on thecontent data 141, the user device 195 can display content to allow the user 185 to submit a request for items and/or services to the entities. The request for item and/or services can be transmitted from the user device 195 to theterminal system 150 via thenetwork system 100. In other examples, thenetwork system 100 can enable the request to be transmitted directly from the user device 195 to theterminal system 150. In one implementation, thenetwork system 100 can determine, based onservice information 132, to transmitcontent data 141 to enable the user device 195 to display content to enable the user 185 to submit the request. In this manner, the user device 195 can display content to enable the user 185 to request items or services from the entity when the user 185 is traveling to or within a certain distance or time away from the entity, for example. - In the examples described herein, the
network system 100 can determine, based on, for example,service information 132 oruser location 197, to transmit aquery 137 for session data to cause theterminal system 150 to terminate the user session 156. In this manner, thenetwork system 100 can determine to cause the user session 156 to be closed by theterminal system 150 based onlocation data 197 indicating that the user 185 is leaving or has left the entity. Additionally, the network system can determine to cause the user session 156 to be closed by theterminal system 150 based on aservice request 199 from the user 185 requesting on-demand services away from the entity location. Furthermore, thenetwork system 100 can submit thequery 137 for session data based on the expiration of a timer associated with the user session 156. In response to thequery 137, theterminal system 150 can transmitsession data 151 to thenetwork system 100 in addition to closing the user session 156. Still further, the operator of theterminal system 150 can also close the user session 156 using the operator interface provided by theterminal system 150, which can transmit thesession data 151 to the network system. Thesession data 151 can be encrypted before being transmitted by theterminal system 150. - According to embodiments, the
network system 100, in response to receiving thesession data 151, can process or facilitate in processing a payment on-behalf of the user 185 for items and/or services provided by the entity for the user 185. Thesession data 151 can include an itemized accounting of the items and/or services procured by the user 185. In some examples, thesession engine 135 can directly process the payment on behalf of the user 185 using payment information in the user'sprofile data 147. In other examples, thesession engine 135 can transmitpayment information 138 to a third-partyfinancial processor 160 to allow the third-partyfinancial processor 160 to process the payment. Still further, thenetwork system 100 can determine to directly process the payment or to transmit thepayment information 138 to the third-partyfinancial processor 160 based on the identity of the entity visited by the user 185. For certain entities, thenetwork system 100 can determine based on data associated with theentity identifier 149 to directly process the payment. For example, based on theentity identifier 149, thenetwork system 100 can retrieve information fromdatabase 145 indicating that the entity corresponding to theentity identifier 149 has completed the appropriate steps to authorize thenetwork system 100 to directly process payments on behalf thereof. In response, thenetwork system 100 can determine to directly process the payment for the user session 156 at the entity identified byentity identifier 149. For other entities, the network system can determine to transmit thepayment information 138 to enable the third-partyfinancial processor 160 to process payments. - Methodology
-
FIG. 2 is a flow chart describing an example method of operating an example network system, according to examples described herein. In the below discussion ofFIG. 2 , reference may be made to features and examples shown and described with respect toFIG. 1 . For instance, the example method shown inFIG. 2 can be performed by thenetwork system 100 shown and discussed inFIG. 1 . - Referring to
FIG. 2 , the network system receives a service request from a user device operated by a requesting user (210). The service request can include an identification of a destination location (e.g., a location at which the service provider would drop-off the requesting user) (211) and a desired time (212). The desired time can refer to a time the service provider is to rendezvous with the requesting user or a time the service provider is to drop-off the requesting user at the destination location. - At
step 215, the network system can identify an entity for the particular service request from the user. The entity can be identified based on information related to the service request (216). In one aspect, the network system can identify the entity based on the destination location, which can be entered as an address or as an entity name. The network system can query a database for the particular address or entity named entered to identify the entity. The network system can also query the database for entities nearby to the destination location if, for example, the destination location is entered as a cross street or as a point or selection on an interactive map displayed on the user device. The query performed by the network system can include a determination as to whether the entity supports the seamless session process facilitated by the network system. For example, the database storing entity information (e.g.,database 145 ofFIG. 1 ) can store information for each entity relating to whether the terminal system at the entity supports integrations with the network system to provide the seamless session process described herein. To identify an entity, the network system can further take into account information related to the requested service such as estimated time of arrival at the destination location, etc. - In some instances, such as when the user enters the destination location as a point on the interactive map, the network system may initially identify a plurality of nearby entities. In these and other instances, the network system can determine the entity from the plurality of nearby entities based on user profile information (217). The user profile information can indicate the user's specified preferences for certain specific entities or certain types or categories of entities, data indicating past user activity such as past requests for the on-demand service and/or data pertaining to past sessions. The network system can identify the entity based on the user profile information or remove from consideration entities that do not match the user profile information. In addition, the network system can include a recommendation engine to generate dynamic recommendations regarding one or more entities that may be of interest to the user near the destination location (218). The network system can also transmit content data to enable the user device to display a list of nearby entities supporting the seamless session process identified based on the service information, user profile information, and dynamic recommendations. In response, the user can select the entity from the list to begin the seamless session process.
- According to embodiments, the network system can transmit session initiation data to a terminal system at the identified entity to cause the terminal system to automatically create a user session for the user (220). The session initiation data can include user data such as identification information such as the name or a nickname of the user, a photograph of the user, a unique graphical avatar, or other means of identifying the user. The user session can be used to store records of items or services provided by the entity that are procured by the user. In some implementations, the network system need not transmit payment or financial information of the user (e.g., credit card information, bank account information, etc.) to the terminal system because payment can be processed by the network system using a payment method stored with the user profile maintained by the network system. In this manner, the security of the user's sensitive financial information can be enhanced since such information need not be transmitted, stored, or exchanged at the terminal system.
- During the user's visit to the entity, the user can procure items and/or services using the identification information included in the user data transmitted to the terminal system. Typically, the user can identify him or herself to an operator of the terminal system (e.g., a cashier, a waiter/waitress, a bartender, etc.) using the identification information (e.g., the user's name) to procure items or services. The operator can interact with the terminal system to enter information corresponding to items and/or services requested by the user to be recorded under the user's session. In addition, in some implementations the user may be able to interact with the user application (or a related application) executing on the user device to submit requests for items and/or services at the entity.
- After the creation of the user session, the network system can transmit data to the user device to enable the user device to display recommendations for items and/or promotions available at the entity. In one example, during the user's visit to an entity, the user device can display promotions relating to a discounted or free service to be arranged by the network system for the user should the user's user session reflect a certain amount of purchases. The discounted or free service can be configured to be geo-fenced (e.g., only available from the entity location to the user's home location, etc.) and time-bound (e.g., only available at a specific time of a specific day, etc.). In another example, the user device can display promotions or recommendations regarding items or services available for the user at the entity.
- According to embodiments, the network system can detect a number of account-end events (225). The account-end events can include a determination, based on location data received from the user device, that the user has completed his or her visit to the entity. For instance, if the location data received from the user device indicates that the user has departed the entity, the network system can determine that an account-end event has occurred. In addition, the network system can further receive another service request from the user device requesting on-demand services away from the entity. The network system can also treat the receipt of such a service request as an account-end event. In response to detecting such events, the network system can transmit a query to the terminal system to cause the terminal system to close the user session for the user and to transmit session data to the network system (230). In addition, the network system or the terminal system may determine to close the user session based on a timeout of the user's user session. For instance, if the user session has been idle (e.g., no activity) for a certain amount of time, the network system or the terminal device can cause the user session to be closed and the session data to be transmitted to the network system.
- In addition to detecting an account-ending event to cause the transmission of a query to the terminal system to close the user session, the operator interface on the terminal system enables the operator of the terminal system to close the user session for the user. For instance, the operator can close the user session at the request of the user or after the entity has completed its business for the day. The closing of the user's user session by the operator causes the terminal system to transmit session data of the user to the network system (235). If no session data is received from the terminal device via the operator's closure of the user and if no end-account event is detected, the network system can be configured to wait until such events occur. Upon receipt of the session data, the network system can begin processing, or facilitate the processing of, one or more payments on behalf of the user and the entity. In certain examples, the network system can be configured to generate additional recommendations regarding other nearby entities after session data is received from the terminal system. The session data received by the network system from the terminal system can include an itemized accounting of the user's procured items and/or services at the entity.
- According to embodiments, the session data can be processed in different manners depending on the implementation and/or the entity. In some examples, the network system can include a component or sub-system to process one or more payments on behalf of the user and the entity (217). The network system can process the one or more payments using payment information stored in the user's user profile maintained by the network system (e.g., user profile associated with the on-demand service). As an alternative, the network system can transmit payment data (e.g., amount to be charged, user's payment information) to a third-party payment processor to process the one or more payments on behalf of the user and the entity (242). The payment data can be encrypted before being transmitted from the network system to the third-party payment processor. Still further, the network system can dynamically determine whether to process the payment or to transmit data to a third-party financial payment processor to process the payment. Such a determination can be based on the identity of the entity. For instance, a particular entity may not have completed the necessary steps (e.g., signing contractual agreements, etc.) to allow payments to the particular entity to be processed directly by the network system. In such a scenario, the network system can determine, based on the identity of the particular entity, to transmit payment data to the third-party payment processor rather than attempting to process a payment on behalf of the entity.
- User and Operator Interfaces
-
FIGS. 3A-3B illustrate example user interfaces for a user application to request a service and to request items or services at an entity, in accordance with examples described herein. - Referring to
FIG. 3A , theexemplary user interface 300 can be displayed by a user device (e.g., user device 195 ofFIG. 1 ) to enable the user to transmit and manage a service request. Theuser interface 300 can include input features 310 to receive textual user input regarding a start location and a destination location. In addition, theuser interface 300 can include amap feature 320 to display an interactive map to allow the user to select the start and/or destination locations via themap feature 320. For instance, the user can tap feature 330 to set a start location. Additionally, the user can select a class of service (e.g., economy service, luxury service, ride-pool service) via a class ofservice selector 340. - The
exemplary user interface 300 further includes afeature 350 to establish a user session for the user at entity nearby to the user or nearby to the user's destination location. For instance, by selectingfeature 350 via a soft selection, the user can be presented with a list of nearby entities from which to select. In response to the user selection, the network system can transmit user data to the appropriate terminal system such that the terminal system can automatically create a user session for the user. - Referring to
FIG. 3B , theexemplary user interface 350 can be displayed by the user device to enable the user to request items or services. Theuser interface 350 can display a list of recommended items for the user based on user preferences. In addition, theuser interface 350 can display a list of popular items offered by the entity. Theuser interface 350 can be displayed on the user device once the user is traveling to the entity and/or after the user has arrived at the entity. Feature 360 can correspond to a request for a specific item offered by the entity. Thefeature 360 can display a visual graphic of the specific item, a name of the specific item, and a corresponding price. In response to receiving a user selection of thefeature 360, the network system can transmit the request to the terminal system at the entity. In some examples, the request can be transmitted directly from the user device to the terminal device without being intermediated by the network system. -
FIG. 4 illustrates an example user interface displayed on a terminal system for managing sessions, in accordance with examples described herein.Example operator interface 400 can be displayed by a terminal device (e.g.,terminal device 150 ofFIG. 1 ) to allow an operator of the terminal device to manage user sessions. Theoperator interface 400 includes anitemized display 410 of items or services requested by the user. Theoperator interface 400 further includes asummary display 420 for conveying a summary (e.g., subtotal, tax, and total amount, etc.) of the user session. In addition, theoperator interface 400 includes afeature 430 to enable the operator to open a user session for a user and afeature 440 to enable the operator to close an existing user session. - Hardware Diagrams
-
FIG. 5 is a block diagram illustrating an example user device executing a designated user application for a network service, as described herein. In many implementations, the user device 500 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like. As such, the user device 500 can include typical telephony features such as amicrophone 545, acamera 550, and acommunication interface 510 to communicate with external entities using any number of wireless communication protocols. In certain aspects, the user device 500 can store a designated application (e.g., a user app 532) in a local memory 530. In many aspects, the user device 500 further store information corresponding to a contacts list 534, and calendar appointments 536 in the local memory 530. In variations, the memory 530 can store additional applications executable by one ormore processors 540 of the user device 500, enabling access and interaction with one or more host servers over one ormore networks 580. - In response to a
user input 518, the user app 532 can be executed by aprocessor 540, which can cause anapp interface 542 to be generated on adisplay screen 520 of the user device 500. Theapp interface 542 can enable the user to, for example, check current price levels and availability for the on-demand service. In various implementations, theapp interface 542 can further enable the user to select from multiple ride service types, such as a carpooling service type, a regular ride-sharing service type, a professional ride service type, a van service type, a luxurious ride service type, and the like. - The user can generate a
service request 567 viauser inputs 518 provided on theapp interface 542. For example, the user can select or input a start location, select or input a destination location, view the various available service types and their respective estimated pricing, and select a particular service. In many examples, the user can input the destination prior to rendezvousing with the service provider. As provided herein, the user application 532 can further enable a communication link with anetwork system 590 over thenetwork 580, such as thenetwork system 100 as shown and described with respect toFIG. 1 . Theprocessor 540 can generate user interface features 528 (e.g., map, trip progress bar, content cards, etc.) usingcontent data 526 received from thenetwork system 590 overnetwork 580. Furthermore, as discussed herein, the user application 532 can enable thenetwork system 590 to cause the generateduser interface 528 to be displayed on theapplication interface 542. - The
processor 540 can transmit the service requests 567 via acommunications interface 510 to thebackend network system 590 over anetwork 580. In response, the user device 500 can receive aconfirmation 569 from thenetwork system 590 indicating the selected service provider and vehicle that will service theservice request 567 and rendezvous with the user at the start location. In various examples, the user device 500 can further include aGPS module 560, which can providelocation data 562 indicating the current location of the requesting user to thenetwork system 590 to, for example, establish the start location and/or select an optimal service provider or autonomous vehicle to service theservice request 567. -
FIG. 6 is a block diagram illustrating a computer system upon which examples described herein may be implemented. Acomputer system 600 can be implemented on, for example, a server or combination of servers. For example, thecomputer system 600 may be implemented as part of a service for providing on-demand services. In the context ofFIG. 1 , thenetwork system 100 may be implemented using acomputer system 600 such as described byFIG. 6 . Thenetwork system 100 may also be implemented using a combination of multiple computer systems as described in connection withFIG. 6 . - In one implementation, the
computer system 600 includes processingresources 610, amain memory 620, a read-only memory (ROM) 630, a storage device 640, and acommunication interface 650. Thecomputer system 600 includes at least oneprocessor 610 for processing information stored in themain memory 620, such as provided by a random access memory (RAM) or other dynamic storage device, for storing information and instructions which are executable by theprocessor 610. Themain memory 620 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by theprocessor 610. Thecomputer system 600 may also include theROM 630 or other static storage device for storing static information and instructions for theprocessor 610. A storage device 640, such as a magnetic disk or optical disk, is provided for storing information and instructions. - The
communication interface 650 enables thecomputer system 600 to communicate with one or more networks 680 (e.g., cellular network) through use of the network link (wireless or wired). Using the network link, thecomputer system 600 can communicate with one or more computing devices, one or more servers, and/or one or more self-driving vehicles. In accordance with examples, thecomputer system 600 receivesservice requests 682 from mobile computing devices of individual users. The executable instructions stored in thememory 630 can includeselection instructions 622, which theprocessor 610 executes to select an optimal drive to service theservice request 682. In doing so, the computer system can receiveservice provider locations 684 of service providers operating throughout the given region, and the processor can execute theselection instructions 622 to select an optimal service provider from a set of available service providers, and transmit aservice invitation 652 to enable the service provider to accept or decline the ride service offer. - The executable instructions stored in the
memory 620 can also includesession management instructions 624, which enable thecomputer system 600 to initiate, manage, terminate, and/or process the user sessions described herein. For instance, thesession management instructions 624 can cause thecomputer system 600 to transmit session initiation data to one or more terminal systems at an entity to initiate or open a user session. Thesession management instructions 624 can further cause thecomputer system 600 to transmitqueries 653 to cause the one or more terminal systems to terminate or close the user session and transmitsession data 683 to thecomputer system 600. Thesession management instructions 624 can further cause thecomputer system 600 to process receivedsession data 683. - By way of example, the instructions and data stored in the
memory 620 can be executed by theprocessor 610 to implement anexample network system 100 ofFIG. 1 . In performing the operations, theprocessor 610 can receiveservice requests 682 andservice provider locations 684, and submitservice invitations 652 to facilitate the servicing of therequests 682. - The
processor 610 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described byFIGS. 1-4 , and elsewhere in the present application. - Examples described herein are related to the use of the
computer system 600 for implementing the techniques described herein. According to one example, those techniques are performed by thecomputer system 600 in response to theprocessor 610 executing one or more sequences of one or more instructions contained in themain memory 620. Such instructions may be read into themain memory 620 from another machine-readable medium, such as the storage device 640. Execution of the sequences of instructions contained in themain memory 620 causes theprocessor 610 to perform the process steps described herein. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to implement examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software. - It is contemplated for examples described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or systems, as well as for examples to include combinations of elements recited anywhere in this application. Although examples are described in detail herein with reference to the accompanying drawings, it is to be understood that the concepts are not limited to those precise examples. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the concepts be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an example can be combined with other individually described features, or parts of other examples, even if the other features and examples make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude claiming rights to such combinations.
Claims (1)
1. A network system comprising:
one or more processors; and
one or more memory resources storing instructions that, when executed by the one or more processors of the network system, cause the network system to:
receive, over a network from a user device of a user, a first set of request data corresponding to a first request for a transport service, the first set of request data indicating a destination location of the transport service;
in response to receiving the first set of request data corresponding to the first request for the transport service, identify one or more entities based, at least in part, on the first set of request data;
receive, over the network from the user device, a second set of request data corresponding to a request to create a session for recording one or more transactions of the user at a selected entity of the one or more entities;
in response to receiving the second set of request data corresponding to the request to create the session, cause a terminal computing system located at the selected entity to create the session for recording one or more transactions of the user at the selected entity; and
receive, over the network from the terminal computing system located at the selected entity, a set of session data associated with the session that indicates one or more transactions of the user at the selected entity.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/115,685 US20230283988A1 (en) | 2017-07-28 | 2023-02-28 | Network system for creating and managing a session at a remote computing system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/663,597 US10271176B2 (en) | 2017-07-28 | 2017-07-28 | System and method for creating and managing a user session at a remote terminal computing system |
US16/298,062 US20190208362A1 (en) | 2017-07-28 | 2019-03-11 | Network system for creating and managing a session at a remote computing system |
US18/115,685 US20230283988A1 (en) | 2017-07-28 | 2023-02-28 | Network system for creating and managing a session at a remote computing system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/298,062 Continuation US20190208362A1 (en) | 2017-07-28 | 2019-03-11 | Network system for creating and managing a session at a remote computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230283988A1 true US20230283988A1 (en) | 2023-09-07 |
Family
ID=65038401
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/663,597 Active US10271176B2 (en) | 2017-07-28 | 2017-07-28 | System and method for creating and managing a user session at a remote terminal computing system |
US16/298,062 Abandoned US20190208362A1 (en) | 2017-07-28 | 2019-03-11 | Network system for creating and managing a session at a remote computing system |
US18/115,685 Abandoned US20230283988A1 (en) | 2017-07-28 | 2023-02-28 | Network system for creating and managing a session at a remote computing system |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/663,597 Active US10271176B2 (en) | 2017-07-28 | 2017-07-28 | System and method for creating and managing a user session at a remote terminal computing system |
US16/298,062 Abandoned US20190208362A1 (en) | 2017-07-28 | 2019-03-11 | Network system for creating and managing a session at a remote computing system |
Country Status (1)
Country | Link |
---|---|
US (3) | US10271176B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9867021B1 (en) | 2015-12-02 | 2018-01-09 | Hopgrade, Inc. | Specially programmed computing devices being continuously configured to allow unfamiliar individuals to have instantaneous real-time meetings to create a new marketplace for goods and/or services |
US10271176B2 (en) * | 2017-07-28 | 2019-04-23 | Uber Technologies, Inc. | System and method for creating and managing a user session at a remote terminal computing system |
JP6984387B2 (en) * | 2017-12-20 | 2021-12-17 | 富士通株式会社 | Information processing equipment, access control methods, programs and systems |
US10771568B2 (en) * | 2018-09-20 | 2020-09-08 | Bank Of America Corporation | System for intercepting and reconstructing session data for web incidents |
US11494434B2 (en) * | 2019-07-31 | 2022-11-08 | Rovi Guides, Inc. | Systems and methods for managing voice queries using pronunciation information |
US11410656B2 (en) | 2019-07-31 | 2022-08-09 | Rovi Guides, Inc. | Systems and methods for managing voice queries using pronunciation information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831999B2 (en) * | 2002-12-09 | 2010-11-09 | Bea Systems, Inc. | System and method for single security administration |
US20170061561A1 (en) * | 2015-08-25 | 2017-03-02 | Steve Cha | Mobile ride-sharing social networking e-commerce platform |
US20180087915A1 (en) * | 2016-09-28 | 2018-03-29 | Gt Gettaxi Limited | System for navigating drivers to service transportation requests from a simplified transportation request device |
US20190208362A1 (en) * | 2017-07-28 | 2019-07-04 | Uber Technologies, Inc. | Network system for creating and managing a session at a remote computing system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294889B2 (en) * | 2012-07-13 | 2016-03-22 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for offline voicemail deposit |
US20170293610A1 (en) * | 2013-03-15 | 2017-10-12 | Bao Tran | Voice assistant |
US9821768B2 (en) * | 2014-10-01 | 2017-11-21 | Continental Intelligent Transportation Systems LLC | Geo-proximity vehicle alert and access system for security and package exchange efficiency |
-
2017
- 2017-07-28 US US15/663,597 patent/US10271176B2/en active Active
-
2019
- 2019-03-11 US US16/298,062 patent/US20190208362A1/en not_active Abandoned
-
2023
- 2023-02-28 US US18/115,685 patent/US20230283988A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831999B2 (en) * | 2002-12-09 | 2010-11-09 | Bea Systems, Inc. | System and method for single security administration |
US20170061561A1 (en) * | 2015-08-25 | 2017-03-02 | Steve Cha | Mobile ride-sharing social networking e-commerce platform |
US20180087915A1 (en) * | 2016-09-28 | 2018-03-29 | Gt Gettaxi Limited | System for navigating drivers to service transportation requests from a simplified transportation request device |
US20190208362A1 (en) * | 2017-07-28 | 2019-07-04 | Uber Technologies, Inc. | Network system for creating and managing a session at a remote computing system |
Also Published As
Publication number | Publication date |
---|---|
US10271176B2 (en) | 2019-04-23 |
US20190037357A1 (en) | 2019-01-31 |
US20190208362A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230283988A1 (en) | Network system for creating and managing a session at a remote computing system | |
US20200387887A1 (en) | Selected place on maps associated uniform resource locator (URL) or selected place associated merchant account based payment transactions, connections, offers, order, deals, reservation and call-to-actions | |
US11776040B2 (en) | System, method, and medium for user specific data distribution of crowd-sourced data | |
US10346003B2 (en) | Integrated geolocation resource transfer platform | |
US20180315088A1 (en) | Recommendation engine for generating context-specific recommendations | |
US20170351977A1 (en) | Facilitating user action based on transmissions of data to mobile devices | |
US9524500B2 (en) | Transferring assets | |
US11461821B2 (en) | Network of personalized devices determining data for shopping predictions | |
US20220131932A1 (en) | Multi-mode message transmission for a network-based service | |
US20150206267A1 (en) | Systems and methods for providing a transportation marketplace | |
US20090055269A1 (en) | Methods and Systems for Preauthorizing Venue-Based Credit Accounts | |
US20180315021A1 (en) | System and method for generating event invitations to specified recipients | |
US20160086236A1 (en) | Improvements in Systems, Methods and Devices for Processing Transactions | |
US11501268B2 (en) | Real-time transaction and receipt processing systems | |
US20160042445A1 (en) | System and Method for Recurrent Rental Vehicle Location and Rate Selection Using Network Based Data | |
US20160203650A1 (en) | Valet service apparatus and method | |
US20170032303A1 (en) | Platform for boarding a vendor at a workplace | |
US11257105B2 (en) | System and method for customer and business referral with a concierge system | |
US11508026B2 (en) | System for navigating transportation service providers to fulfill transportation requests authorized by an organization | |
US12045787B2 (en) | Cash delivery application | |
WO2021102419A2 (en) | Delivery driver routing and order preparation timing system | |
US20170124542A1 (en) | Methods and Systems for Dispensing Physical Currency | |
US20170039504A1 (en) | Systems and methods to administer a dispatch platform affiliate program | |
AU2015101254A4 (en) | Taxi booking service | |
US11587107B2 (en) | System and method for customer and business referrals with a smart device concierge system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |