A non-transitory computer-readable medium with instructions stored thereon that, when executed by one or more computers, cause the one or more computers to perform or control performance of operations, the operations comprising:
- accessing, by a point of sale (POS) application located at a physical location, a special-purpose computing device configured as a POS terminal that includes a reader device that is capable of accepting a plurality of payment instruments and a user interface associated with a streaming media service, by implementing an application programming interface (API) of the streaming media service, the user interface indicating a plurality of selectable media content items;
- receiving, by the POS application inputs specifying a music playlist of media content items from the plurality of selectable media content items;
- causing, by the POS application, the streaming media service to generate the music playlist in response to the inputs;
- establishing a geo-fence that corresponds to a virtual geographic boundary of the physical location as defined by a radiofrequency-based technology that triggers a response when a mobile device enters or leaves the physical location;
- determining, based on the geo-fence, that a particular mobile device associated with a user is present at the physical location;
- in response to determining that the particular mobile device is present at the physical location, enabling the user to access the music playlist via a web interface presented at the particular mobile device, wherein the particular mobile device is a different device than the POS terminal and wherein enabling the user to access the music playlist via the web interface includes providing, by a machine-learning model, a recommendation of additional media items to the user based on a listening history associated with the user, wherein the machine-learning model is trained to output the recommendation;
- receiving, from the particular mobile device, a playlist access request indicative of a request from the user to access the music playlist, wherein the playlist access request is received in response to the user scanning a QR code with the particular mobile device or the user selecting a hyperlink on the particular mobile device;
- surfacing the music playlist onto the particular mobile device in response to the playlist access request, to enable the user to view the music playlist while the user is present at the physical location;
- receiving, from the particular mobile device, a playback request representing a selection by the user of a media content item on the music playlist, while the particular mobile device is present at the physical location;
- causing the selected media content item from the music playlist to be placed in a playback queue, for audible playback at the physical location by a playback system associated with the physical location, based on the playback request, wherein the playback system is different from the particular mobile device;
- after causing the selected media content item to be placed in the playback queue, determining, based on the geo-fence, that the particular mobile device is not present at the physical location;
- and
- in response to determining that the particular mobile device is not present at the physical location, removing the selected media content item from the playback queue.