Multi-device point-of-sale system
Systems and methods for conducting a transaction using multiple devices are described. In examples, a first device presents, via a first application, a first user interface (UI). The first UI facilitates first transaction functionalities associated with at least one first action of a plurality of actions comprising the transaction. Input to the first device is detected, which results in a transition of the first device from a first state to a second state. A second application on a second device detects the transition and sends an instruction to the first device to present a second UI. The second UI is configured to facilitate at least one second transaction functionality of one or more second transaction functionalities that are associated with at least one second action of the plurality of actions comprising the transaction.
1 . A system for conducting a transaction between a merchant and a customer, the system comprising:
a first device comprising one or more first processors, a first display, and first non-transitory computer-readable media storing first instructions that, when executed by the one or more first processors, cause the one or more first processors to perform first operations comprising:
presenting, while the first device is in a first state, a first user interface (UI) on the first display, wherein the first UI is configured to facilitate one or more first transaction functionalities associated with the first state, wherein the one or more first transaction functionalities are associated with at least one first action of a plurality of actions, and wherein the transaction comprises the plurality of actions;
detecting a trigger event, wherein the trigger event comprises an input to the first device or a second device coupled to the first device, wherein the first device is associated with a first user and the second device is associated with a second user; and
based at least in part on detecting the trigger event, transitioning the first device from the first state to a second state, wherein the first state configures the first device to receive inputs associated with the first user associated with the first device to facilitate the transaction and the second state configures the first device to receive inputs associated with a second user associated with the second device to facilitate the transaction; and
the second device comprising one or more second processors, a second display, and second non-transitory computer-readable media storing second instructions that, when executed by the one or more second processors, cause the one or more second processors to perform second operations comprising:
determining that the first device has transitioned from the first state to the second state;
based on determining that the first device has transitioned from the first state to the second state, sending, via a model-view-controller (MVC) framework, an instruction to the first device to present a second UI, wherein the second UI is configured to facilitate one or more second transaction functionalities, wherein the one or more second transaction functionalities are associated with at least one second action of the plurality of actions; and
wherein the first instructions that, when executed by the one or more first processors, cause the one or more first processor to further perform:
presenting, via the MVC framework, the second UI in the second state to perform the one or more second transaction functionalities for the transaction in response to receiving the instruction.
2 . The system of claim 1 , wherein the first device is a customer-facing device, and wherein the second device is a merchant-facing device.
3 . The system of claim 2 ,
wherein the one or more first transaction functionalities comprise at least one of:
display of information associated with one or more items offered for sale by the merchant;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket; and
wherein the one or more second transaction functionalities comprise at least one of:
generating the ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction.
4 . The system of claim 1 , wherein the first device is a merchant-facing device, and wherein the second device is a customer-facing device.
5 . The system of claim 4 ,
wherein the one or more first transaction functionalities comprise at least one
generating a ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction; and
wherein the one or more second transaction functionalities comprise at least one of
display of information associated with one or more items offered for sale by the merchant;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket.
6 . The system of claim 1 , wherein the second device is associated with a model component and a controller component of the MVC framework and the first device is associated with a view component of the MVC framework.
7 . The system of claim 1 , the second operations further comprising:
presenting at least a portion of the second UI on the second device.
8 . The system of claim 1 , wherein the input comprises a request to transition the first device from the first state to the second state.
9 . The system of claim 1 , wherein the input comprises performance of at least a first transaction functionality of the one or more first transaction functionalities or a second transaction functionality of the one or more second transaction functionalities.
10 . The system of claim 1 , wherein the second UI comprises an interactable projection.
11 . A method for conducting a transaction between a merchant and a customer comprising:
presenting, by a first device via a first application of the first device associated with a first user, a first user interface (UI) on a first display of the first device in a first state, wherein the first UI is configured to facilitate at least one first transaction functionality, wherein the at least one first transaction functionality is associated with at least one first action of a plurality of actions, and wherein the transaction comprises the plurality of actions;
detecting, by the first device via the first application, a trigger event, wherein the trigger event comprises an input to the first device or a second device associated with a second user to transition from the first state to a second state;
based at least in part on detecting the trigger event, transitioning, by the first device via the first application, the first device from a first state to a second state, wherein the first state configures the first device to receive inputs via the first application to facilitate the transaction and—the second state configures the first device to receive inputs via a second application associated with the second device to facilitate the transaction;
determining, by the second device via the second application, that the first device has transitioned from the first state to the second state;
based on determining that the first device has transitioned from the first state to the second state, sending, by the second device via the second application to the first device and via a model-view-controller (MVC) framework, an instruction to present a second UI, wherein the second UI is configured to facilitate at least one second transaction functionality of one or more second transaction functionalities, wherein the one or more second transaction functionalities are associated with at least one second action of the plurality of actions; and
presenting, by the first device and via the MVC framework, the second UI in the second state to perform the one or more second transaction functionalities for the transaction in response to receiving the instruction.
12 . The method of claim 11 , wherein the first device is a customer-facing device, and wherein the second device is a merchant-facing device.
13 . The method of claim 12 ,
wherein the at least one first transaction functionality comprises at least one of:
display of information associated with one or more items offered for sale;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket; and
wherein the one or more second transaction functionalities comprise at least one of:
generating the ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction.
14 . The method of claim 11 , wherein the first device is a merchant-facing device, and wherein the second device is a customer-facing device.
15 . The method of claim 14 ,
wherein the at least one first transaction functionality comprises at least one
generating a ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction; and
wherein the one or more second transaction functionalities comprise at least one of:
display of information associated with one or more items offered for sale;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket.
16 . The method of claim 11 , wherein the input comprises a request to transition the first device from the first state to the second state.
17 . The method of claim 11 , wherein the input comprises performance of at least one first transaction functionality of the at least one first transaction functionalities or a second transaction functionality of the one or more second transaction functionalities.
18 . A system for conducting a transaction between a merchant and a customer, the system comprising:
a first device comprising one or more first processors, a first display, and first non-transitory computer-readable media storing first instructions that, when executed by the one or more first processors, cause the one or more first processors to perform first operations comprising:
performing one or more first transaction functionalities, wherein the one or more first transaction functionalities are associated with at least one first action of a plurality of actions, and wherein the transaction comprises the plurality of actions, wherein performing the one or more first transaction functionalities further comprises presenting, while the first device is in a first state, a first user interface (UI) on the first display;
detecting a trigger event, wherein the trigger event comprises an input to the first device or a second device coupled to the first device, wherein the first device is associated with a first user and the second device is associated with a second user; and
based at least in part on detecting the trigger event, transitioning the first device from the first state to a second state, wherein the first state configures the first device to receive inputs associated with the first user associated with the first device to facilitate the transaction and the second state configures the first device to receive inputs associated with a second user associated with the second device to facilitate the transaction; and
the second device comprising one or more second processors, a second display, and second non-transitory computer-readable media storing second instructions that, when executed by the one or more second processors, cause the one or more second processors to perform second operations comprising:
determining that the first device has transitioned from the first state to the second state;
based on determining that the first device has transitioned, sending, via a model-view-controller (MVC) framework, an instruction to the first device to present a second UI, wherein the second UI is configured to facilitate at least one of one or more second transaction functionalities, wherein the one or more second transaction functionalities are associated with at least one second action of the plurality of actions;
wherein the first instructions that, when executed by the one or more first processors, cause the one or more first processor to further perform:
presenting, via the MVC framework, the second UI in the second state to perform the one or more second transaction functionalities for the transaction in response to receiving the instruction.
19 . The system of claim 18 ,
wherein the first device is a customer-facing device;
wherein the second device is a merchant-facing device;
wherein the one or more first transaction functionalities comprise at least one of:
display of information associated with one or more items offered for sale by the merchant;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket; and
wherein the one or more second transaction functionalities comprise at least one of:
generating the ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction.
20 . The system of claim 18 ,
wherein the first device is a merchant-facing device;
wherein the second device is a customer-facing device;
wherein the one or more first transaction functionalities comprise at least one generating a ticket;
adding items to the ticket;
managing the ticket;
splitting the ticket;
processing a payment;
accessing inventory information; or
inputting payment data in a card-not-present transaction; and
wherein the one or more second transaction functionalities comprise at least one of:
display of information associated with one or more items offered for sale by the merchant;
receipt of payment instrument information from a payment reader; or
facilitation of receipt of at least one of the payment instrument information, authentication information, a gratuity, feedback, loyalty information, a confirmation of a transaction cost, or a change to a ticket.