Ticket information display system

By introducing a composite user interface into the ticket purchasing system, the cinema seat selection process is simplified. Users can slide through multiple selection options at the same time, and the seat availability and friend location are displayed in real time. This solves the problem of complex and slow seat selection in the existing system and improves the user experience.

CN114830151BActive Publication Date: 2025-10-17SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080088113.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-18
Filing Date
2020-12-18
Publication Date
2025-10-17
Estimated Expiration
2040-12-18

AI Technical Summary

Technical Problem

Existing ticket purchasing systems are complex and slow when selecting cinema seats, making it difficult for users to find suitable seats, especially when watching with friends or family.

Method used

A composite user interface is provided, including a theater selection strip, a movie selection strip, a showtime selection strip, and a seat map, which users can browse and select simultaneously. It supports real-time seat availability display and friend location tagging, making it easy to locate and purchase desired seats.

Benefits of technology

The seat selection process has been simplified, improving the user experience. Users can more easily find suitable seats, especially seats next to friends or family, and the complexity of the navigation interface has been reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114830151B_ABST
    Figure CN114830151B_ABST
Patent Text Reader

Abstract

Examples generate and operate a single interface or composite interface that has multiple areas or portions that are displayed simultaneously and continuously, and using which a user can conveniently navigate through a reservation seating selection process, from selecting a particular theater or venue to the final seat selection, and in addition, the example single interface also presents various features and mechanisms to enable a user to conveniently locate and purchase desired or acceptable tickets (e.g., tickets that are located at a good viewing angle relative to the screen, or that are contiguously located next to other available seats for friends and family).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CLAIM OF PRIORITY

[0002] This application claims priority to U.S. Provisional Application Serial No. 62 / 950,102, filed December 18, 2019, the entire contents of which are incorporated by reference herein. BACKGROUND

[0003] Current systems for purchasing event tickets (e.g., purchasing movie tickets for a movie showing) can be particularly complex and slow, especially when trying to go to the movies with friends and family. Whether attempting to make such a ticket purchase through a mobile application or through a web interface of a ticket purchasing system, a user typically must navigate through multiple different screens to purchase a ticket. After a complex login, a variety of choices of movies and show times are also presented on different screens. Additional details are required to complete the purchase (e.g., whether the ticket is being purchased for an adult or a child). There are many technical problems with the human-machine interfaces presented by current ticket purchasing systems, particularly with respect to human-machine interaction and human-machine interfaces achieved through current interface designs and interaction sequences. BRIEF DESCRIPTION OF DRAWINGS

[0004] To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number are often duplicated in succeeding reference numbers throughout the detailed description.

[0005] Figure 1 A client device 100 is shown in accordance with some examples.

[0006] Figure 2 A ticket user interface 200 is shown in accordance with some examples.

[0007] Figure 3 A seat map 300 is shown in accordance with some examples.

[0008] Figure 4 is a graphical representation of a networked environment in which the present disclosure can be deployed in accordance with some examples.

[0009] Figure 5 is a graphical representation of a data structure as maintained in a database in accordance with some examples.

[0010] Figure 6 A ticket table 600 is shown in accordance with some examples.

[0011] Figure 7 is a graphical representation of a message in accordance with some examples.

[0012] Figure 8 is a flowchart of an access restriction process in accordance with some examples.

[0013] Figure 9 A method 900 is shown in accordance with some examples.

[0014] Figure 10 A method 1000 is shown in accordance with some examples.

[0015] Figure 11 A method 1000 is shown in accordance with some examples.

[0016] Figure 12 FIG. 1 is a block diagram illustrating a software architecture, which can implement the present disclosure in accordance with some examples.

[0017] Figure 13 FIG. 1 is a block diagram illustrating a software architecture, which can implement the present disclosure in accordance with some examples.

[0018] Figure 14 FIG. 1 is a block diagram illustrating a software architecture, which can implement the present disclosure in accordance with some examples.

[0019] Figure 15 FIG. 1 is a block diagram illustrating a software architecture, which can implement the present disclosure in accordance with some examples. DETAILED DESCRIPTION

[0020] Reserving seats at public events (e.g., movie screenings, sporting events, and concerts) typically includes both reserved seats and non-reserved seats. In particular for movie screenings within a movie theater, the trend of reserved seats is increasing. However, enabling a user to navigate through multiple selection options to a point where the user can conveniently select a ticket with a reserved seat is currently a very slow process. Moreover, when the user finally navigates to the seat selection screen, the user often cannot find an acceptable seat because of an undesirable seat location, or because, for example, the user wants to attend with some friends or family and is looking for multiple connected seats so that the parties can all sit together. When the user cannot locate one or more suitable seats within the seat selection screen, the user then needs to start the entire navigation process again, very inconveniently, through multiple interfaces. This inconvenience can be amplified when trying to navigate a mobile user interface.

[0021] Examples seek to address these inconveniences and technical problems in current human-machine interfaces by presenting a single or composite interface with multiple areas or sections that are displayed simultaneously and continuously, and through which a user can conveniently navigate through a reserved seating selection process, from selecting a particular theater or venue, to the final seat selection. Additionally, example single interfaces also present various features and mechanisms to enable a user to conveniently locate and purchase desired or acceptable tickets (e.g., tickets that are located at a good viewing angle relative to the screen, or tickets that are located contiguously next to other available seats for friends and family).

[0022] Figure 1 is a graphical representation of a client device 100 or mobile phone 102 in the form of an example, having a screen that presents a single or composite user interface 104 that displays multiple areas or sections simultaneously, which enable convenient browsing of multiple selection options for purchasing seat tickets within a movie theater for a particular movie showing at a particular showtime. While the example examples described herein are described in the context of reserving seats within a movie theater, other examples can be implemented to reserve seats or locations at other types of events or venues (e.g., concert seats at a concert event).

[0023] The composite user interface 104 includes multiple areas or sections, namely a venue selection section in the form of a theater selection ribbon 108 within which a user can swipe left or right to select between movie theaters within a predetermined geographic proximity (e.g., determined based on a GPS location of the mobile phone 102). The theater selection ribbon 108 can also enable a user to enter a current zip code or other geographic information in order to identify theater selections, the indicia of which can be displayed and browsed within the theater selection ribbon 108. The theater selection ribbon 108 also enables a user to provide a movie theater selection by tapping or otherwise selecting indicia associated with a particular movie theater within the theater selection ribbon 108.

[0024] A user who has performed a theater selection in the context of the theater selection ribbon 108 then proceeds to an event selection section in the form of a movie selection ribbon 106, within which indicia (e.g., pictures or videos) of movies that are currently playing at the selected movie theater are displayed. In this regard, the content of the movie selection ribbon 106 is dynamically adjusted and modified in response to the selection of a theater within the theater selection ribbon 108. Again, a user can swipe left and right to scroll through the various movie indicia displayed within the movie selection ribbon 106, and tap on a particular indicia in order to select a movie.

[0025] In response to the movie selection, content within the time selection portion, in the form of, for example, a showtime selection strip 110, is dynamically generated and / or updated to include indicia of available showtimes for the selected movie in the selected theater. The showtimes may again be indicated as indicia that can be swiped left or right to scroll through the available options, each of the indicia being user-selectable to select a specific showtime.

[0026] In response to the selection of a particular movie in a particular theater, the content in the seating map section, in the form of an example seating map 300, is dynamically generated in near real time. The seating map 300 displays seating information for the selected showtime of the selected movie in the selected theater and may display the location of each seat in the theater relative to the screen (or stage in the case of a live performance). In the case of a live sporting event, the seating map 300 displays the arrangement of seats relative to the arena, field, rink, or other event area.

[0027] As will be described in greater detail below, in addition to displaying the locations of all or a subset of seats within a particular venue, the seating map 300 may also indicate seat availability by visually distinguishing or otherwise marking available seats as opposed to unavailable or reserved seats. Furthermore, in some examples, the seating map 300 may also provide graphical representations or markings of friends or socially related entities that have reserved a particular seat within a particular venue. This display of "friends" information is helpful when attending an event with friends because it allows the user to conveniently select reserved seats that are desirably located near those friends.

[0028] Thus, it should be appreciated that the theater selection strip 108, the movie selection strip 106, the showtime selection strip 110, and the seating map 300, by being displayed simultaneously and continuously within the user interface 104 during the seat selection process, enable the user to navigate relatively easily between multiple selection options. Furthermore, throughout the navigation and seat selection process, the selection options are conveniently presented in the context of earlier selections. In some examples, Figure 1 The user interface arrangement shown in also provides a hierarchical flow in which selections in higher-level menus dynamically affect the selection options provided in subsequent menu levels, where each of the options is presented in a convenient strip that the user can swipe left or right to view the options.

[0029] Additionally, the user interface 104 includes a transaction control 112 that is user-selectable to initiate a purchase transaction for a particular available seat selected within the seat map 300 .

[0030] The message control 114 also enables a user to transmit information about a particular seat transaction (e.g., a purchase) to a selected group of recipients (e.g., "friends" located within a predetermined geographic proximity of the relevant user as reflected within a social network data structure). Specifically, a user selection of the message control 114 can initiate a process by which a message indicating the theater selection, movie selection, showtime selection, and seat selection is transmitted to the social network friends and presented in a manner similar to the user interface 104 presented to the friends. This interface then enables the friends as receiving users to similarly select and purchase available seats from within the seat map 300, knowing the location of the sending user's seat in the theater and also the location of any other social network friends of the receiving user that can be seated within the relevant venue.

[0031] Figure 2 is a screen shot of a composite ticket user interface 200 according to some examples, showing specific examples of the content of various interface portions discussed above with reference to Figure 1 The theater selection ribbon 108 is shown to include a plurality of theater indicia 202 that the user can scroll left or right using the scroll buttons 204. In some examples, the set of theaters for which theater indicia 202 are displayed within the theater selection ribbon 108 is determined using geographic information (e.g., GPS coordinates) determined by the mobile device on which the ticket user interface 2000 is displayed. The list of theaters presented within the theater selection ribbon 108 can be, for example, within a 5, 10, or 15 mile radius of the location of the client device 100.

[0032] Based on a selection of a particular theater within the theater selection ribbon 108, movie indicia 206 are generated and displayed within the movie selection ribbon 106. To navigate between movie indicia 206, the user can swipe left or right, and conveniently initiate playback of a trailer (or other multimedia content) related to a movie by selecting a trailer (or preview) play button 208. The movie indicia 206 for any particular movie can also display other information that can assist the user in selecting the movie, such as a title, actor names, and various graphics and images.

[0033] The showtime selection ribbon 110 displays a set of showtimes based on the movie theater selection and the movie selection, each showtime represented by a showtime indicium 210. Each of the showtime indicia 210 is user-selectable to select a particular showtime for the relevant movie in the relevant theater.

[0034] Based on the combined theater, movie, and showtime selections, the content of the seat map 300 is retrieved and displayed within the ticket user interface 200 as real-time or near real-time data.Figure 2 The illustrated seat map 300 shows the location of the screen relative to the theater, as well as the location of each seat ticket currently available for purchase. In this example, seats that are occupied or unavailable are simply not shown (e.g., no indicia of the relevant seats are displayed). In some examples, the seat indicia for available seats can be displayed in a manner that is visually distinguishable from the indicia for unavailable seats, enabling the user to easily and visually discern which seats are available for purchase. The seats selected by the user within the seat map 300 are also visually distinguished (e.g., two blue seat indicia). The ticket quantity selector 212 enables the user to specify a desired ticket quantity, and a single touch within the seat map 300 on the display screen of the mobile device results in the selection of the requested number of seats. In addition, the seat map 300 can be zoomed by the user (e.g., using the touchscreen), enabling the user to zoom in on a particular subset of seats within the relevant venue.

[0035] After the seat selection is performed in the context of the seat map 300, the user can then initiate a purchase transaction related to the selected seats using the purchase button 214.

[0036] Figure 3 is a graphical representation of additional details of the seat map 300 according to some examples. The seat map 300 depicts the location of the screen 302 relative to the location of three rows of seats (i.e., a first row of seats 304, a second row of seats 306, and a third row of seats 308).

[0037] Seats that are occupied or reserved are shown in solid lines, while seats that are available for reservation are shown in dashed lines. In some examples, any manner of visually distinguishing between seats that have been reserved (e.g., unavailable) and seats that have not been reserved (e.g., available) can be used in the context of the seat map 300.

[0038] The seat map 300 also includes a user indicia 310 (in this case, a ":-)" emoticon) associated with the viewing user and superimposed on the selected seats, enabling the viewing user to easily identify the selected seats. In addition, the seat map 300 displays friend indicia 312 superimposed on seats that have been reserved by the viewing user's social network friends. This enables the viewing user to easily identify where the friends can be seated within the theater for a particular showtime, and to select and reserve available seats near the friends. In some examples, each of the friend indicia in the friend indicia 312 graphical representation is customized to represent the associated user.

[0039] Figure 4is a block diagram illustrating an example messaging system 400 for exchanging data (e.g., messages and associated content) over a network. The messaging system 400 includes multiple instances of the client device 100, each of which hosts multiple applications including a messaging client application 402. Each messaging client application 402 is communicatively coupled to other instances of the messaging client application 402 and to a messaging server system 406 via a network 404 (e.g., the Internet).

[0040] The messaging client application 402 can communicate and exchange data with another messaging client application 402 and the messaging server system 406 via the network 404. The data exchanged between the messaging client applications 402 and between the messaging client applications 402 and the messaging server system 406 includes functions (e.g., commands to invoke functions) as well as payload data (e.g., text, audio, video, or other multimedia data).

[0041] The messaging client application 402 also presents several interfaces to the user to enable messaging functionality, as well as other interfaces to support other functionality provided by the messaging client application 402. In some examples, the ticket user interface 200 discussed above is presented by the messaging client application 402 to the user to enable the user to purchase tickets using the messaging client application 402.

[0042] The messaging server system 406 provides server-side functionality to particular messaging client applications 402 via the network 404. While certain functionality of the messaging system 400 is described herein as being performed by the messaging client application 402 or by the messaging server system 406, the location of certain functionality within the messaging client application 402 or the messaging server system 406 is a design choice. For example, it can be technically preferable to initially deploy certain technology and functionality within the messaging server system 406, but later migrate that technology and functionality to the messaging client application 402 where client device 100 has sufficient processing power.

[0043] The messaging server system 406 supports various services and operations that are offered by the messaging client application 402. Such operations include sending data to, receiving data from, and processing data generated by the messaging client application 402. As examples, this data can include message content, client device information, geolocation information, media annotation and overlays for media, message content persistence conditions, social network information, and live event information. Exchange of this data within the messaging system 400 is controlled by functions available via a user interface (UI) of the messaging client application 402.

[0044] Turning now specifically to the messaging server system 406, an application- program interface (API) server 408 is coupled to, and provides a programmatic interface to, the application servers 412. Similarly, a web server 410 is coupled to, and provides a web interface to, the application servers 412. The web server 410 supports the exchange of web-based content between the application servers 412 and clients using web-based protocols such as HTTP.

[0045] The application-program interface (API) server 408 receives and transmits message data, such as commands and message payloads, between the client device 100 and the application servers 412. Specifically, the application-program interface (API) server 408 provides a set of interfaces, such as routines and protocols, that can be called or queried by the messaging client application 402 in order to invoke functionality of the application servers 412. The application-program interface (API) server 408 exposes various functionality supported by the application servers 412, including account registration, login functionality, sending messages from a particular messaging client application 402 to another messaging client application 402 via the application servers 412, sending media files (e.g., images or videos) from the messaging client application 402 to the messaging server application 414, and possible access for another messaging client application 402, setting of collections of media data (e.g., stories), retrieval of a friend list for a user of the client device 100, retrieval of such collections, retrieval of messages and content, adding and removing friends to a social graph, location of friends within a social graph, and opening an application activity (e.g., involving the messaging client application 402).

[0046] The application servers 412 host a number of applications and subsystems, including a messaging server application 414, an image processing system 416, and a social network system 422. The messaging server application 414 implements a number of message processing technologies and functions, particularly related to the aggregation and other processing of content (e.g., textual and multimedia content) included in messages received from multiple instances of the messaging client application 402. As will be described in greater detail, textual and media content from multiple sources can be aggregated into collections of content (e.g., referred to as stories or galleries). The messaging server application 414 then makes these collections available to the messaging client application 402. Other processor and memory intensive data processing can also be performed server-side by the messaging server application 414 in view of the hardware requirements for such processing.

[0047] The application servers 412 also include the image processing system 416 that is dedicated to performing various image processing operations that are generally directed to images or videos received within the payloads of messages at the messaging server application 414.

[0048] The social network system 422 supports various social networking functionality and makes these functions and services available to the messaging server application 414. To this end, the social network system 422 maintains and accesses an entity graph 504 (as shown in FIG. 5) within the database 418. The social network system 422 supports functions and services such as identifying other users of the messaging system 400 with which a particular user has relationships or is “following,” as well as identifying other entities and interests of a particular user. Figure 5

[0049] The application servers 412 are communicably coupled to a database server 420, which facilitates access to a database 418 in which is stored data associated with messages processed by the messaging server application 414.

[0050] In addition, the application servers 412 include a ticketing system 424 that interacts with the ticket purchase functionality provided by the messaging client application 402 in order to generate and display the user interfaces described herein, as well as the navigation and processing flows (e.g., human-machine interactions) supported by those user interfaces. The ticketing system 424 also communicates with third-party venue ticketing systems 426 via the network 404, which can be operated by respective venues or other ticket aggregators and resellers (who are primary or secondary market ticket suppliers). To this end, the application program interface (API) server 408 includes functionality that enables the ticketing system 424 to automatically retrieve ticket availability and purchase information and synchronize ticket availability and purchase information in near real-time with the third-party venue ticketing systems 426 to update the data maintained by the ticketing system 424 within the database 418.​

[0051] Ticket system 424 also communicates with venue ticketing system 426 to complete purchase transactions for tickets presented by interfaces described herein.

[0052] Figure 5 is a schematic diagram illustrating a data structure 500 that can be stored in database 418 of messaging server system 406, in accordance with certain examples. While the content of database 418 is illustrated as including a number of tables, it will be appreciated that data can be stored in other types of data structures (e.g., as an object-oriented database).

[0053] Database 418 includes message data stored within a messages table 514. An entities table 502 stores entity data, including an entity graph 504. Entities for which records are maintained within entities table 502 can include individuals, corporate entities, organizations, objects, places, events, and the like. Regardless of type, any entity for which messaging server system 406 stores data can be an identified entity. Each entity is provided with a unique identifier, as well as an entity type identifier (not shown).

[0054] In addition, entity graph 504 stores information about relationships and associations between entities. Such relationships can be interest-based or activity-based social relationships, professional relationships (e.g., working at a common company or organization), just to name a few examples.

[0055] Database 418 also stores annotation data in an annotations table 512, in the example of filters. Filters for which data is stored within annotations table 512 are associated with and applied to videos (for which data is stored in a videos table 510) and / or images (for which data is stored in an images table 508). In some examples, a filter is an overlay that is displayed as an overlay on an image or video during presentation to a recipient user. Filters can be of various types, including a user-selected filter from a library of filters presented to a sending user by messaging client application 402 while the sending user is composing a message. Other types of filters include geolocation filters (also referred to as geo-filters), which can be presented to a sending user based on geographic location. For example, based on geographic location information determined by a GPS unit of client device 100, a neighborhood-specific or location-specific geolocation filter can be presented within a user interface by messaging client application 402. Another type of filter is a data filter, which can be selectively presented to a sending user by messaging client application 402 based on other input or information gathered by client device 100 during the message creation process. Examples of data filters include a current temperature at a particular location, a current speed at which a sending user is traveling, a battery life of client device 100, or a current time.

[0056] Other annotations or supplemental data that can be stored within the image table 508 are so-called "lens" data. A "lens" can be a real-time special effect and sound that can be added to an image or video.

[0057] As mentioned above, the video table 510 stores video data that, in some examples, is associated with messages whose records are maintained within the message table 514. Similarly, the image table 508 stores image data that is associated with messages whose message data is stored in the entity table 502. The entity table 502 can associate various annotations from the annotation table 512 with various images and videos stored in the image table 508 and the video table 510.

[0058] The story table 506 stores data relating to collections of messages and associated image, video, or audio data that are compiled into a collection (e.g., a story or gallery). The creation of a particular collection can be initiated by a particular user (e.g., each user whose record is maintained in the entity table 502). A user can create a "personal story" in the form of a collection of content that has been created and sent / broadcast by that user. To this end, the user interface of the messaging client application 402 can include a user-selectable icon to enable a sending user to add particular content to his or her personal story.

[0059] A collection can also constitute a "live story," which is a collection of content from multiple users that is created manually, automatically, or using a combination of manual and automatic techniques. For example, a "live story" can constitute a curated stream of content submitted by users from different locations and events. Users whose client devices are location service-enabled and are in a common location activity at a particular time can be presented with an option to contribute content to a particular live story, e.g., via the user interface of the messaging client application 402. A live story can be identified to a user by the messaging client application 402 based on the user's location. The end result is a "live story" told from a community perspective.

[0060] Another type of content collection is referred to as a "location story," which enables users whose client devices 100 are located within a particular geographic location (e.g., at a university or university campus) to contribute to a particular collection. In some examples, contribution to a location story can require secondary authentication to verify that the end user belongs to a particular organization or other entity (e.g., is a student in a university campus).

[0061] The ticket table 600 is also stored and maintained within the database 418 by the ticket system 424 and includes a plurality of tables, further details of which are provided in accordance with Figure 6 ​

[0062] Details of the ticket purchase facilitated by the ticket system 424 in conjunction with the messaging client application 402 will also be included within the record in the story table 506, so that the details can be included in the message content posted by the relevant user. In some examples, details of the particular movie or event for which a user has purchased a ticket can also be stored in the video table 510. For example, a user can post a message that includes a trailer video for a movie that the user intends to see and for which the user has purchased a ticket. In this way, a user can conveniently share promotional material (e.g., a trailer) for a movie as well as details of a particular showing time with other users within the entity graph 504 that are related to the posting user.

[0063] Figure 6 is a schematic diagram illustrating further details of a ticket table 600 in accordance with some examples. The ticket table 600 includes a theater table 602 (or more generally, a venue table) that stores a list of venues for which the ticket system 424 is able to present and transact activity tickets. In association with each venue whose record is maintained in the theater table 602, corresponding seat data representing a set of seats within the relevant venue is maintained in a seat table 604.

[0064] A movie table 610 (or more generally, an event table) maintains a list of movies or events that are currently available for viewing or will become available for viewing at the venues recorded in the theater table 602, while a showtime table 608 stores showtime data for each of these movies or events.

[0065] Finally, a ticket table 606 maintains ticket data representing the availability of seats within each theater for each movie at each showtime. To this end, the ticket table 606 is shown as being indexed to the theater table 602, the seat table 604, the showtime table 608, and the movie table 610.

[0066] As noted above, the ticket system 424 can operate to maintain and aggregate ticket availability and sales information from multiple ticket vendors (e.g., venue ticketing systems 426) in near real-time. The ticket system 424 can accordingly operate to standardize and format the data received from these different sources for storage within and updating of the ticket table 606.

[0067] Figure 7is a schematic diagram showing the structure of a message 700 generated by the messaging client application 402 for transmission to another messaging client application 402 or the messaging server application 414, according to some of the examples. The content of a particular message 700 is used to populate the message table 514 stored within the database 418 accessible to the messaging server application 414. Similarly, the content of the message 700 is stored in memory as "in-transit" or "in-flight" data for the client device 100 or the application server 412. The message 700 is shown as including the following components:

[0068] • message identifier 702: a unique identifier that identifies the message 700.

[0069] • message text payload 704: text to be generated by a user via the user interface of the client device 100 and included in the message 700.

[0070] • message image payload 706: image data captured by a camera component of the client device 100 or retrieved from a memory component of the client device 100 and included in the message 700.

[0071] • message video payload 708: video data captured by a camera component or retrieved from a memory component of the client device 100 and included in the message 700.

[0072] • message audio payload 710: audio data captured by a microphone or retrieved from a memory component of the client device 100 and included in the message 700.

[0073] • message annotation 712: annotation data representing an annotation (e.g., filter, sticker, or other augmentation) to be applied to the message image payload 706, the message video payload 708, or the message audio payload 710 of the message 700.

[0074] • message ticket data 714: details regarding a ticket purchase by the first user, including theater data, movie data, showtime data, and seat data. The movie data can include additional multimedia data (e.g., a movie trailer video or graphics). The message ticket data 714 can be used by the messaging client application 402 to present a ticket user interface, such as the ticket user interface 200, to the receiving user in order to enable the receiving user to purchase a reserved ticket for a seat that is in close proximity to the seats reserved by the sending user (and the receiving user and / or other users stored within the entity graph 504 to which the sending user and / or the receiving user are directly linked).

[0075] • message duration parameter 716: a parameter value indicating an amount of time, in seconds, that content of the message (e.g., message image payload 706, message video payload 708, message audio payload 710) will be presented or made accessible to users via messaging client application 402.

[0076] • message geolocation parameter 718: geolocation data (e.g., latitude and longitude coordinates) associated with a content payload of the message. Multiple message geolocation parameter 718 values can be included in the payload, each of which is associated with a content item included in the content (e.g., a particular image within message image payload 706 or a particular video in message video payload 708).

[0077] • message story identifier 720: an identifier value identifying one or more collections of content (e.g., a“story”) with which a particular content item in message image payload 706 of message 700 is associated. For example, multiple images within message image payload 706 can each be associated with multiple collections of content using identifier values.

[0078] • message tags 722: each message 700 can be tagged with multiple tags, each of which indicates a subject matter of content included in the message payload. For example, where a particular image included in message image payload 706 depicts an animal (e.g., a lion), a tag value can be included within message tags 722 indicating the relevant animal. Tag values can be generated manually based on user input, or can be generated automatically using, for example, image recognition.

[0079] • message sender identifier 724: an identifier (e.g., a messaging system identifier, email address, or device identifier) indicating a user of a client device 100 on which message 700 was generated and from which message 700 was sent.

[0080] • message recipient identifier 726: an identifier (e.g., a messaging system identifier, email address, or device identifier) indicating a user of a client device 100 to which message 700 is addressed.

[0081] The content (e.g., values) of the various components of message 700 can be pointers to locations in tables in which the content data values are stored. For example, the image value in message image payload 706 can be a pointer to a location (or its address) within image table 508. Similarly, the values within message video payload 708 can point to data stored within video table 510, the values stored within message annotation 712 can point to data stored in annotation table 512, the value stored within message story identifier 720 can point to data stored in story table 506, and the values stored within message sender identifier 724 and message recipient identifier 726 can point to user records stored within entity table 502.

[0082] Figure 8 is a schematic diagram illustrating an access restriction process 800 according to which access to content (e.g., ephemeral messages 804 and associated data multimedia payloads) or collections of content (e.g., ephemeral message groups 806) can be time-limited (e.g., ephemeral).

[0083] Ephemeral message 804 is shown as being associated with a message duration parameter 808, the value of which determines the amount of time for which ephemeral message 804 will be displayed to a receiving user of ephemeral message 804 by message transmission client application 402. In some examples, depending on the amount of time specified by sending user using message duration parameter 808, a receiving user can view ephemeral message 804 for up to 10 seconds.

[0084] Message duration parameter 808 and message recipient identifier 726 are shown as inputs to a message timer 814, which is responsible for determining the amount of time for which ephemeral message 804 is shown to a particular receiving user identified by message recipient identifier 726. In particular, ephemeral message 804 will be shown to the relevant receiving user for a period of time determined by the value of message duration parameter 808. Message timer 814 is shown as providing output to a more generalized ephemeral timer system 802, which is responsible for the overall timing of the display of content (e.g., ephemeral message 804) to receiving users.

[0085] Ephemeral message 804 is shown as being associated with a message duration parameter 808, the value of which determines the amount of time for which ephemeral message 804 will be displayed to a receiving user of ephemeral message 804 by message transmission client application 402. In some examples, depending on the amount of time specified by sending user using message duration parameter 808, a receiving user can view ephemeral message 804 for up to 10 seconds. Figure 8The ephemeral message groups 806 are shown as being included within a transient message group 806 (e.g., a collection of messages in a personal story or activity story). The transient message group 806 has an associated group duration parameter 810, the value of which determines the duration for which the transient message group 806 is presented and accessible to users of the messaging system 400. For example, the group duration parameter 810 can be the duration of a concert, where the transient message group 806 is a collection of content pertaining to that concert. Alternatively, the value of the group duration parameter 810 can be specified by the user (the owning user or a curator user) at the time of performing the setup and creation of the transient message group 806.

[0086] Further, each ephemeral message 804 within the transient message group 806 has an associated group engagement parameter 812, the value of which determines the duration for which the ephemeral message 804 will be accessible in the context of the transient message group 806. Thus, a particular transient message group 806 can "expire" and become inaccessible in the context of the transient message group 806 before the transient message group 806 itself expires according to the group duration parameter 810. The group duration parameter 810, the group engagement parameter 812, and the message recipient identifier 726 each provide input to a group timer 816, which is operable to first determine whether a particular ephemeral message 804 of the transient message group 806 is to be displayed to a particular receiving user, and if so, for how long. Note that as a result of the message recipient identifier 726, the transient message group 806 also knows the identity of the particular receiving user.

[0087] Thus, the group timer 816 is operable to control the overall lifetime of the associated transient message group 806, as well as the individual ephemeral messages 804 included in the transient message group 806. In some examples, each ephemeral message 804 within the transient message group 806 remains viewable and accessible for the time period specified by the group duration parameter 810. In another example, a certain ephemeral message 804 can expire within the context of the transient message group 806 based on the group engagement parameter 812. Note that the message duration parameter 808 can still determine the duration for which a particular ephemeral message 804 is displayed to a receiving user, even within the context of the transient message group 806. Thus, the message duration parameter 808 determines the duration for which a particular ephemeral message 804 is displayed to a receiving user, regardless of whether the receiving user is viewing that ephemeral message 804 within the context of the transient message group 806 or not.

[0088] Additionally, the ephemeral timer system 802 can operatively remove a particular ephemeral message 804 from an ephemeral message group 806 based on a determination that the particular ephemeral message 804 has exceeded the associated group engagement parameter 812. For example, where a sending user has established a group engagement parameter 812 of 24 hours from publication, the ephemeral timer system 802 will remove the relevant ephemeral message 804 from the ephemeral message group 806 after the specified 24 hours. The ephemeral timer system 802 also operates to remove an ephemeral message group 806 when the group engagement parameter 812 for each ephemeral message 804 within the ephemeral message group 806 has expired, or when the ephemeral message group 806 itself has expired according to the group duration parameter 810.

[0089] In certain use cases, the creator of a particular ephemeral message group 806 can specify a group duration parameter 810 that is unlimited. In such cases, the expiration of the group engagement parameter 812 for the last remaining ephemeral message 804 within the ephemeral message group 806 will determine when the ephemeral message group 806 itself expires. In such cases, a new ephemeral message 804 added to the ephemeral message group 806 with a new group engagement parameter 812 effectively extends the life of the ephemeral message group 806 to equal the value of the group engagement parameter 812.

[0090] In response to a determination by the ephemeral timer system 802 that an ephemeral message group 806 has expired (e.g., is no longer accessible), the ephemeral timer system 802 communicates with the messaging system 400 (and, for example, specifically the messaging client application 402) to cause a marker (e.g., an icon) associated with the relevant ephemeral message group 806 to no longer be displayed within the user interface of the messaging client application 402. Similarly, where the ephemeral timer system 802 determines that a message duration parameter 808 for a particular ephemeral message 804 has expired, the ephemeral timer system 802 causes the messaging client application 402 to no longer display a marker (e.g., an icon or textual identification) associated with the ephemeral message 804.

[0091] In block 904, the method 900 causes a single interface to be presented, the single interface having a first portion and a second portion for receiving first selection inputs and second selection inputs, and a seat map portion for displaying a movie theater seat map, each of the above portions being presented simultaneously within the single interface. In block 906, the method 900 receives a first selection input. In block 908, the method 900 causes the first selection input to be presented in the first portion of the single interface. In block 910, the method 900 accesses a movie database to identify a selection subset with respect to the second selection input in response to receiving and using the first selection input. In block 912, the method 900 causes the selection subset to be presented within the second portion of the single interface. In block 914, the method 900 receives a second selection input from the selection subset as presented within the second portion of the single interface. In block 916, the method 900 accesses a movie theater seat map in response to receiving and using the second selection input. In block 918, the method 900 causes the movie theater seat map to be presented within the seat map portion of the interface, while the first selection input is presented in the first portion of the single interface and the second selection input is presented in the second portion of the single interface.

[0092] In block 1004, the method 1000 generates and causes a presentation of a composite user interface, the composite user interface including a theater selection portion, a movie selection portion, a showtime selection portion, and a seat map portion, each of the above portions being presented simultaneously within the composite user interface. In block 1006, the method 1000 receives a movie theater selection via the theater selection portion. In block 1008, the method 1000 accesses a database to retrieve movie data in response to the movie theater selection, the movie data representing a set of movies viewable at the movie theater selection. In block 1010, the method 1000 causes the movie data representing the set of movies viewable at the movie theater selection to be presented within the movie selection portion of the composite user interface. In block 1012, the method 1000 receives a movie selection from the set of movies via the movie selection portion. In block 1014, the method 1000 accesses a database to retrieve showtime data in response to the movie selection, the showtime data representing a set of showtimes for the movie selection at the movie theater selection. In block 1016, the method 1000 causes the showtime data representing the set of showtimes to be presented within the showtime selection portion of the composite user interface.

[0093] In block 1102, the method 1000 receives a showtime selection from a set of showtimes via a showtime selection portion. In block 1104, the method 1000, in response to the showtime selection, accesses a database to retrieve seat data and ticket data. The seat data represents a set of seats in a movie theater selection under a movie selection and the showtime selection. The ticket data represents availability of the set of seats. In block 1106, the method 1000 causes presentation of both the seat data representing the set of seats and the ticket data representing the availability of the set of seats within a seat map portion of a composite user interface. In block 1110, the method 1000 receives a seat selection of an available seat via the seat map portion of the composite user interface. In block 1110, the method 1000 uses the seat selection to perform a ticket purchase transaction for the seat selection.

[0094] Figure 12 FIG. 12B is a block diagram 1202 illustrating software architecture 1204, which can be installed on any one or more of the devices described herein. The software architecture 1204 is

[0095] The operating system 1212 manages hardware resources and provides common services. The operating system 1212 includes, for example, a kernel 1214, services 1216, and drivers 1222. The kernel 1214 acts as an abstraction layer between the hardware and the other software layers. For example, the kernel 1214 provides memory management, processor management (e.g., scheduling), component management, networking, and security settings, among other functionality. The services 1216 can provide other common services that the other software layers can use. The drivers 1222 are responsible for controlling or interfacing with the underlying hardware. For instance, the drivers 1222 can include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), WI-FI® drivers, audio drivers, power management drivers, and so forth. or The drivers 1222 can include an operating system-specific driver and a generic driver. The generic driver can be specialized for the device 1202. The layers of the software architecture 1204 provide functionality through further abstraction, allowing the software in the layers above to operate without being perturbed by implementation details. For example, the libraries 1210 can provide a

[0096] The libraries 1210 provide lower level access to the core functionality of the operating systems and therefore provides more direct access to the CPU, memory, and peripherals. The libraries 1210 can include system libraries 1218 (e.g., C standard library, which provides functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like) and libraries 1224 related to graphics, audio, and video that are usable by the applications 1206. Also, the libraries 1210 can include one or more

[0097] The frameworks 1208 provide higher level common infrastructures that are used by the applications 1206. For example, the frameworks 1208 provide various graphical user interface (GUI) functions, high-level resource management, and high-level location services. The frameworks 1208 can provide a broad spectrum of other APIs that can be used by the applications 1206, some of which can be specific to a particular operating system or platform.

[0098] In some examples, the applications 1206 include a home application 1236, a contacts application 1230, a browser application 1232, a book reader application 1234, a location application 1242, a media application 1244, a messaging application 1246, a game application 1248, and a broad assortment of other applications such as a third party application 1240. The applications 1206 are programs that execute functions defined in the programs. Programs can be created using a variety of programming languages, such as object oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language). In a specific example, the third party application 1240 (e.g., an application developed using the ANDROID™ or IPHONE® software development kit (SDK) by an entity other than the vendor of the particular platform) can be a mobile software application that is executable within the platform of the system 1200. TM 、 mobile software running on a mobile operating system such as iOS®, ANDROID®,

[0099] Figure 13 is a graphical representation of a machine 1300 within which instructions 1308 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1300 to perform any one or more of the methodologies discussed herein can be executed. For example, the instructions 1308 can cause the machine 1300 to execute any one or more of the methods described herein. The instructions 1308 transform the general, non-programmed machine 1300 into a particular machine 1300 programmed to carry out the described and illustrated functions in the manner described. The machine 1300 can operate as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1300 can operate in the capacity of a server machine or a client machine in server-client network environments, or as a peer machine in peer-to-peer (or distributed) network environments. The machine 1300 can comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a PDA, an entertainment media system, a cellular

[0100] The machine 1300 can include processors 1302, memory 1304, and I / O components 1338, which can be configured to communicate with one another via a bus 1340. In an example, the processors 1302 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio-frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) can include, for example, a processor 1306 and a processor 1310 that execute instructions 1308. The term “processor” is intended to include multiple cores of a single processor, which can execute instructions contemporaneously. For instance, a multiple-core processor can enable a single computing device to perform multiple tasks contemporaneously. Also, the term “processor” can refer to more than one processor that are physically distinct, which can each execute instructions independently. Although Figure 13 Multiple processors 1302 are illustrated, but the machine 1300 can include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0101] The memory 1304 includes a main memory 1312, a static memory 1314, and a storage unit 1316, each of which can be accessed via the bus 1340 by the processors 1302. The main memory 1304, static memory 1314, and storage unit 1316 store the instructions 1308 embodying any one or more of the methodologies or functions described herein. The instructions 1308 can also reside, completely or

[0102] The I / O components 1338 can include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 1338 that are included in the machine 1300 will depend on the type and Figure 13Many other components not shown are also present. In various examples, the I / O components 1338 can include output components 1324 and input components 1326. The output components 1324 can include visual components (e.g., displays such as plasma, light-emitting diode (LED), liquid crystal display (LCD), projector, or cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The input components 1326 can include alphanumeric input components (e.g., a keyboard, a touchscreen that accepts alphanumeric input, a photo-optical keyboard, or another alphanumeric input component), pointing components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and / or force of touches or touch gestures, or another tactile input component), audio input components (e.g., a microphone), and the like.

[0103] In further examples, the I / O components 1338 can include biometric components 1328, motion components 1330, environmental components 1332, or positioning components 1334, among a wide array of other components. The biometric components 1328 include, for example, components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. The motion components 1330 include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth. The environmental components 1332 include, for example, one or more cameras, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases in the environment or to measure pollutants in a

[0104] Communication can be implemented using a wide variety of technologies. The I / O components 1338 also include communication components 1336 operable to couple the machine 1300 to a network 1320 or devices 1322 via respective coupling or connections. For example, the communication components 1336 can include a network interface component or another suitable device to interface with the network 1320. In further examples, the communication components 1336 can include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., low power, power saving, components, and other communication components to provide communication via other modalities. The devices 1322 can be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).

[0105] Moreover, the communication components 1336 can detect identifiers or include components operable to detect identifiers. For example, the communication components 1336 can include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify acoustic signals indicative of particular identifiers associated with a device).

[0106] Various memories (e.g., main memory 1312, static memory 1314, and / or the memory of processor 1302) and / or storage unit 1316 can store one or more sets of instructions and data structures (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. These instructions (e.g., instructions 1308), when executed by processor 1302, cause various operations to implement the disclosed examples.

[0107] The instructions 1308 can be transmitted or received over the network 1320 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 1336) and using any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 1308 can be transmitted or received using a transmission medium via the coupling (e.g., a peer-to-peer coupling) to the devices 1322.

[0108] Figure 14 is a block diagram illustrating further details regarding the messaging system 400, in accordance with an example. In particular, the messaging system 400 is shown to include the messaging client application 402 and the application server 412, which in turn contain a number of some subsystems, namely the ephemeral timer system 802, the collection management system 1402, and the annotation system 1404.

[0109] The ephemeral timer system 802 is responsible for implementing temporary access to content allowed by the messaging client application 402 and the messaging server application 414. To this end, the ephemeral timer system 802 incorporates a number of timers that selectively display messages and associated content and enable access to the messages and associated content via the messaging client application 402 based on a duration and display parameters associated with the messages or collection of messages (e.g., story). Further details regarding the operation of the ephemeral timer system 802 are provided below.

[0110] The collection management system 1402 is responsible for managing collections of media (e.g., collections of text, image, video, and audio data). In some examples, a collection of content (e.g., messages, including images, videos, text, and audio) can be organized into a "gallery" or "story of events." Such a collection can be made available for a specified period of time, such as the duration of an event to which the content relates. For example, content related to a concert can be made available as a "story" for the duration of the concert. The collection management system 1402 can also be responsible for publishing an icon that provides notification of the presence of a particular collection to the user interface of the messaging client application 402.

[0111] Additionally, the collection management system 1402 includes a curation interface 1406 that enables the collection manager to manage and curate a particular content collection. For example, the curation interface 1406 enables an event organizer to curate a collection of content related to a particular event (e.g., delete inappropriate content or redundant messages). Additionally, the collection management system 1402 employs machine vision (or image recognition technology) and content rules to automatically curate a content collection. In certain examples, users can be paid compensation for including user-generated content into a collection. In such cases, the curation interface 1406 operates to automatically pay such users for use of their content.

[0112] The annotation system 1404 provides various functionality that enables users to annotate or otherwise modify or edit media content associated with a message. For example, the annotation system 1404 provides functionality related to generating and publishing media overlays for messages handled by the messaging system 400. The annotation system 1404 is operable to supply media overlays or supplements (e.g., image filters) to the messaging client application 402 based on a geographic location of the client device 100. In another example, the annotation system 1404 is operable to supply media overlays to the messaging client application 402 based on other information (e.g., social network information of a user of the client device 100). The media overlays can include audio and visual content as well as visual effects. Examples of audio and visual content include pictures, text, logos, animations, and sound effects. Examples of visual effects include color overlays. The audio and visual content or visual effects can be applied to a media content item (e.g., a photo) at the client device 100. For example, the media overlays can include text that can be overlaid on a photo taken by the client device 100. In another example, the media overlays include a location identification overlay (e.g., Venice Beach), a name of a live event, or a business name overlay (e.g., Beachside Café). In another example, the annotation system 1404 uses a geographic location of the client device 100 to identify a media overlay that includes a name of a business at the geographic location of the client device 100. The media overlays can include other indicia associated with the business. The media overlays can be stored in the database 418 and accessed by the database server 420.

[0113] In some examples, the annotation system 1404 provides a user-based publishing platform that enables a user to select a geographic location on a map and upload content associated with the selected geographic location. The user can also specify circumstances under which the particular media overlay including the uploaded content should be provided to other users. The annotation system 1404 generates the media overlay including the uploaded content and associates the uploaded content with the selected geographic location.

[0114] In some examples, the annotation system 1404 provides a merchant-based publishing platform that enables merchants to select particular media overlays associated with geographic locations via a bidding process. For example, the annotation system 1404 associates the media overlay of the highest bidding merchant with the corresponding geographic location for a predefined amount of time.

[0115] Turning now to Figure 15 , a graphical representation of a processing environment 1500 is shown, which includes a processor 1506, a processor 1508, and a processor 1502 (e.g., a GPU, a CPU, or a combination thereof).

[0116] The processor 1502 is shown coupled to a power supply 1504 and includes (either permanently configured or temporarily instantiated) modules, namely, the messaging server application 414, the image processing system 416, the social network system 422, and the ticket system 424. As shown, the processor 1502 is communicatively coupled to both the processor 1506 and the processor 1508.

[0117] CLAIM

[0118] A method of generating a user interface for movie ticket reservations, the method comprising: causing presentation of a single interface having a first portion for receiving a first selection input and a second portion for receiving a second selection input, and a seat map portion for displaying a movie theater seat map, each of the aforementioned portions being presented simultaneously within the single interface; receiving the first selection input; causing presentation of the first selection input in the first portion of the single interface; in response to receiving and using the first selection input, accessing a movie database to identify a subset of selections with respect to the second selection input; causing presentation of the subset of selections within the second portion of the single interface; receiving the second selection input from within the subset of selections as presented within the second portion of the single interface, in response to receiving and using the second selection input, accessing a movie theater seat map; and causing presentation of the movie theater seat map within the seat map portion of the interface, while presenting the first selection input in the first portion of the single interface and the second selection input in the second portion of the single interface.

[0119] The method of any one or more of the preceding claims, wherein the single interface has a third portion for receiving a third selection input, the method further comprising: in response to receiving and the third selection input, retrieving the movie theater seat map based on both the second selection input and the third selection input.

[0120] The method of any one or more of the preceding claims, wherein the first portion of the single interface is a movie selection portion, and the first selection input is a movie selection.

[0121] The method of any one or more of the preceding claims, wherein the selection subset regarding the second selection input is a selection regarding a showtime of a movie selection at the specified movie theater.

[0122] The method of any one or more of the preceding claims, wherein the third portion is a location selection portion and the third selection input is a geographic region including at least one movie theater.

[0123] The method of any one or more of the preceding claims, wherein the third selection is a theater selection portion and the third selection input is a specific movie theater.

[0124] The method of any one or more of the preceding claims, comprising, in response to receiving the second selection, accessing ticket information; and causing presentation of seat availability indicia based on the ticket information in conjunction with a movie theater seat map within a seat map portion of the interface.

[0125] The method of any one or more of the preceding claims, wherein the seat availability indicia indicate available seats in the movie theater seat map.

[0126] The method of any one or more of the preceding claims, comprising, in response to the second selection: accessing social network information; using the social network information and the ticket information, identifying a related entity within a social network of the first user that has purchased a ticket for a selected movie at a selected showtime; and displaying a social indicia of the related entity within a context of the movie theater seat map.

[0127] 10. The method of any one or more of the preceding claims, comprising, in response to a messaging input from the first user, sending a ticket message to a related entity within a social network of the first user, the ticket message displaying a movie title, a movie location, a movie showtime, and ticket availability information to the related entity.

[0128] 11. A method of facilitating selection of a movie theater ticket, the method comprising:

[0129] generating and causing presentation of a composite user interface, the composite user interface including a theater selection portion, a movie selection portion, a showtime selection portion, and a seat map portion, each of the theater selection portion, the movie selection portion, the showtime selection portion, and the seat map portion being concurrently presented within the composite user interface;

[0130] receiving, via the theater selection portion, a movie theater selection;

[0131] in response to the movie theater selection, accessing a database to retrieve movie data representing a set of movies viewable at the movie theater selection;

[0132] causing presentation within a movie selection portion of the composite user interface of movie data representing a collection of movies available for viewing at a theater selection;

[0133] receiving, via the movie selection portion, a movie selection from a collection of movies;

[0134] responsive to a movie selection, accessing a database to retrieve showtime data representing a set of showtimes for the movie selection at the theater selection;

[0135] causing presentation of showtimes data representing a set of showtimes within a showtimes selection portion of the composite user interface;

[0136] receiving, via the showtime selection portion, a showtime selection from the set of showtimes;

[0137] In response to a showtime selection, a database is accessed to retrieve:

[0138] Seat data representing a set of seats at a movie theater selection at a movie selection and a showtime selection;

[0139] Ticket data indicating the availability of a set of seats; and

[0140] causing presentation within a seat map portion of the composite user interface of both seat data representing the set of seats and ticket data representing availability of the set of seats;

[0141] receiving a seat selection of available seats via the seat map portion of the composite user interface; and

[0142] Using the seat selection, perform a ticket purchase transaction for that seat selection.

[0143] The method of any one or more of the preceding statements, wherein the composite user interface includes a transaction control, and wherein the ticket purchase transaction is initiated in response to receiving a user selection of the transaction control.

[0144] A method as recited in any one or more of the preceding statements, further comprising:

[0145] responsive to the showtime selection, accessing a database to retrieve social network data representing friend entities associated with the first user;

[0146] determining, using the social network data and the ticket data, that a friend entity associated with the first user has purchased a purchased seat within the set of seats; and

[0147] Causing presentation of a friend entity indicia associated with the purchased seat within a seat map portion of the composite user interface.

[0148] The method of any one or more of the preceding statements, wherein the composite user interface includes a message control, the method further comprising:

[0149] receiving, via the message control, a message sending request;

[0150] in response to receiving the message sending request, accessing a database to retrieve social network data representing friend entities associated with the first user; and

[0151] using the social network data, sending a ticket message to the friend entities associated with the first user, the ticket message including seat data and ticket data.

[0152] The method of any one or more of the preceding statements, wherein the ticket message further includes an invitation to purchase a seat ticket for an available seat in the set of seats.

[0153] The method of any one or more of the preceding statements, wherein the seat message further includes a marker showing the seat selection of the first user.

Claims

1. A method for generating a user interface for movie ticket reservation, the method comprising: causing presentation of a single interface within a messaging client application associated with the user, the single interface having a first portion for receiving a first user selection input, a second portion for receiving a second selection input, and a seating map portion for displaying a theater seating map, each of the first portion, the second portion, and the seating map portion being presented simultaneously within the single interface; receiving the first user selection input; causing presentation of the first user selection input in the first portion of the single interface; in response to receiving the first user selection input, accessing a movie database to identify a selection subset related to the second selection input; causing presentation of the selected subset within the second portion of the single interface; receiving a second selection input from the subset of selections presented within the second portion of the single interface, responsive to receiving and using the second selection input, accessing the theater seating map; accessing social network information of the user associated with the messaging client application; accessing ticket information corresponding to the first user selection input and the second selection input; identifying, using the social network information and the ticket information, related entities within the user's social network that have purchased tickets for showings of the selected movie at the selected showtime; as well as causing presentation of the cinema seating map within the seating map portion of the single interface while presenting the first user selection input in the first portion of the single interface and the second selection input in the second portion of the single interface, wherein the cinema seating map shows graphical representations of the related entities superimposed on seats reserved by the related entities.

2. The method according to claim 1, wherein The single interface has a third portion for receiving a third selection input, the method further comprising, in response to receiving the third selection input, retrieving the theater seating map based on both the second selection input and the third selection input.

3. The method according to claim 1, wherein The first portion of the single interface is a movie selection portion, and the first user selection input is a movie selection.

4. The method according to claim 3, wherein: The subset of selections inputted regarding the second selection is selections regarding showtimes for the movie selection at a designated theater.

5. The method according to claim 2, wherein: The third portion is a location selection portion, and the third selection input is a geographic area that includes at least one cinema.

6. The method according to claim 2, wherein: The third portion is a theater selection portion, and the third selection input is a specific theater.

7. The method according to claim 1, comprising: The method causes presentation of seat availability indicia based on the ticket information in conjunction with the theater seating map within the seating map portion of the single interface.

8. The method according to claim 7, wherein: The seat availability indicia indicates available seats in the cinema seating map.

9. The method according to claim 1, comprising: In response to a messaging input from the user, a ticket message is sent to related entities within the social network of the user, the ticket message displaying movie title, movie location, movie showtimes, and ticket availability information to the related entities.

10. A method for facilitating the selection of cinema tickets, the method comprising: generating a composite user interface within a messaging client application associated with the user and causing presentation of the composite user interface, the composite user interface including a theater selection portion, a movie selection portion, a showtime selection portion, and a seating map portion, each of the theater selection portion, the movie selection portion, the showtime selection portion, and the seating map portion being presented simultaneously within the composite user interface; receiving a theater selection via the theater selection portion; responsive to the theater selection, accessing a database to retrieve movie data representing a set of movies viewable at the theater selection; causing presentation of the movie data within the movie selection portion of the composite user interface, the movie data representing the set of movies available for viewing at the theater selection; receiving, via the movie selection portion, a movie selection from the collection of movies; responsive to the movie selection, accessing the database to retrieve showtime data representing a set of showtimes for the movie selection at the theater selection; causing presentation of the showtimes data representing the set of showtimes within the showtimes selection portion of the composite user interface; receiving, via the showtime selection portion, a showtime selection from the set of showtimes; In response to the showtime selection, the database is accessed to retrieve: seating data representing a set of seats at the theater selection at the showtime selection; ticket data indicating availability of the set of seats; and social network data of the user associated with the messaging client application; determining, using the social network data and the ticket data, that a friend entity associated with the user has purchased a purchased seat within the set of seats; causing presentation of the seat data representing the set of seats and the ticket data representing availability of the set of seats within the seat map portion of the composite user interface, wherein the seat map portion shows a graphical representation of the friend entity superimposed on a seat reserved by the friend entity; receiving a seat selection of available seats via the seat map portion of the composite user interface; and Using the seat selection, a ticket purchase transaction is performed for the seat selection.

11. The method according to claim 10, wherein: The composite user interface includes a transaction control, and the ticket purchase transaction is initiated in response to receiving a user selection of the transaction control.

12. The method according to claim 10, wherein: The composite user interface includes a message control, and the method further includes: receiving a message sending request via the message control; In response to receiving the message sending request, accessing the database to retrieve social network data, the social network data representing friend entities associated with the user; and Using the social network data, a ticket message is sent to one or more friend entities associated with the user, the ticket message including the seat data and the ticket data.

13. The method according to claim 12, wherein: The ticket message also includes an invitation to purchase seat tickets for available seats in the set of seats.

14. The method according to claim 13, wherein The ticket message also includes indicia showing the user's seat selection.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to: causing presentation of a single interface within a messaging client application associated with the user, the single interface having a first portion and a second portion for receiving a first selection input and a second selection input and a seating map portion for displaying a movie theater seating map, each of the first portion, the second portion, and the seating map portion being presented simultaneously within the single interface; receiving the first selection input; causing presentation of the first selection input in the first portion of the single interface; in response to receiving and using the first selection input, accessing a movie database to identify a selection subset related to the second selection input; causing presentation of the selected subset within the second portion of the single interface; receiving a second selection input from within the subset of selections presented within the second portion of the single interface, responsive to receiving and using the second selection input, accessing the theater seating map; accessing social network information of the user associated with the messaging client application; accessing ticket information corresponding to the first selection input and the second selection input; identifying, using the social network information and the ticket information, related entities within the user's social network that have purchased tickets for showings of the selected movie at the selected showtime; as well as causing presentation of the cinema seating map within the seating map portion of the interface while simultaneously presenting the first selection input in the first portion of the single interface and the second selection input in the second portion of the single interface, wherein the cinema seating map shows graphical representations of the related entities superimposed on seats reserved by the related entities.

16. The computer-readable storage medium of claim 15, wherein: The single interface has a third portion for receiving a third selection input, wherein the instructions further configure the computer to, in response to receiving the third selection input, retrieve the theater seating map based on the second selection input and the third selection input.

17. The computer-readable storage medium of claim 15, wherein: The first portion of the single interface is a movie selection portion, and the first selection input is a movie selection.

18. The computer-readable storage medium of claim 17, wherein: The subset of selections inputted regarding the second selection is selections regarding showtimes for the movie selection at a designated theater.

19. The computer-readable storage medium of claim 16, wherein: The third portion is a location selection portion, and the third selection input is a geographic area that includes at least one cinema.

20. The computer-readable storage medium of claim 16, wherein: The third portion is a theater selection portion, and the third selection input is a specific theater.

21. The computer-readable storage medium of claim 15, comprising: Causes presentation of seat availability indicia based on the ticket information in conjunction with the theater seating map within the seating map portion of the interface.

22. The computer-readable storage medium of claim 21, wherein: The seat availability indicia indicates available seats in the cinema seating map.

23. The computer-readable storage medium of claim 15, comprising: In response to a messaging input from the user, a ticket message is sent to related entities within the social network of the user, the ticket message displaying movie title, movie location, movie showtimes, and ticket availability information to the related entities.

24. A non-transitory computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to: generating a composite user interface within a messaging client application associated with the user and causing presentation of the composite user interface, the composite user interface including a theater selection portion, a movie selection portion, a showtime selection portion, and a seating map portion, each of the theater selection portion, the movie selection portion, the showtime selection portion, and the seating map portion being presented simultaneously within the composite user interface; receiving a theater selection via the theater selection portion; responsive to the theater selection, accessing a database to retrieve movie data representing a set of movies viewable at the theater selection; causing presentation of the movie data within the movie selection portion of the composite user interface, the movie data representing the set of movies available for viewing at the theater selection; receiving, via the movie selection portion, a movie selection from the collection of movies; responsive to the movie selection, accessing the database to retrieve showtime data representing a set of showtimes for the movie selection at the theater selection; causing presentation of the showtimes data representing the set of showtimes within the showtimes selection portion of the composite user interface; receiving, via the showtime selection portion, a showtime selection from the set of showtimes; In response to the showtime selection, the database is accessed to retrieve: seating data representing a set of seats in the theater selection for the movie selection and the showtime selection; ticket data indicating availability of the set of seats; and social network data of the user associated with the messaging client application; determining, using the social network data and the ticket data, that a friend entity associated with the user has purchased a purchased seat within the set of seats; causing presentation of the seat data representing the set of seats and the ticket data representing availability of the set of seats within the seat map portion of the composite user interface, wherein the seat map portion shows a graphical representation of the friend entity superimposed on a seat reserved by the friend entity; receiving a seat selection of available seats via the seat map portion of the composite user interface; and Using the seat selection, a ticket purchase transaction is performed for the seat selection.

25. The computer-readable storage medium of claim 24, wherein: The composite user interface includes a transaction control, and the ticket purchase transaction is initiated in response to receiving a user selection of the transaction control.

26. The computer-readable storage medium of claim 24, wherein: The composite user interface includes a message control, wherein the instructions further configure the computer to: receiving a message sending request via the message control; In response to receiving the message sending request, accessing the database to retrieve social network data, the social network data representing friend entities associated with the user; and Using the social network data, a ticket message is sent to one or more friend entities associated with the user, the ticket message including the seat data and the ticket data.

27. The computer-readable storage medium of claim 26, wherein: The ticket message also includes an invitation to purchase seat tickets for available seats in the set of seats.

28. The computer-readable storage medium of claim 27, wherein: The ticket message also includes indicia showing the user's seat selection.

29. A computing device, comprising: processor; as well as a memory storing instructions that, when executed by the processor, configure the apparatus to: causing presentation of a single interface within a messaging client application associated with the user, the single interface having a first portion and a second portion for receiving a first selection input and a second selection input and a seating map portion for displaying a movie theater seating map, each of the first portion, the second portion, and the seating map portion being presented simultaneously within the single interface; receiving the first selection input; causing presentation of the first selection input in the first portion of the single interface; in response to receiving and using the first selection input, accessing a movie database to identify a selection subset related to the second selection input; causing presentation of the selected subset within the second portion of the single interface; receiving a second selection input from within the subset of selections presented within the second portion of the single interface, responsive to receiving and using the second selection input, accessing the theater seating map; accessing social network information of the user associated with the messaging client application; accessing ticket information corresponding to the first selection input and the second selection input; identifying, using the social network information and the ticket information, related entities within the user's social network that have purchased tickets for showings of the selected movie at the selected showtime; as well as causing presentation of the cinema seating map within the seating map portion of the interface while simultaneously presenting the first selection input in the first portion of the single interface and the second selection input in the second portion of the single interface, wherein the cinema seating map shows graphical representations of the related entities superimposed on seats reserved by the related entities.

30. The computing device of claim 29, wherein: The single interface has a third portion for receiving a third selection input, wherein the instructions further configure the apparatus to, in response to receiving the third selection input, retrieve the theater seating map based on the second selection input and the third selection input.

31. The computing device of claim 29, wherein: The first portion of the single interface is a movie selection portion, and the first selection input is a movie selection.

32. The computing device of claim 31 , wherein: The subset of selections inputted regarding the second selection is selections regarding showtimes for the movie selection at a designated theater.

33. The computing device of claim 30, wherein: The third portion is a location selection portion, and the third selection input is a geographic area that includes at least one cinema.

34. The computing device of claim 30, wherein: The third portion is a theater selection portion, and the third selection input is a specific theater.

35. The computing device of claim 29, comprising: Causes presentation of seat availability indicia based on the ticket information in conjunction with the theater seating map within the seating map portion of the interface.

36. The computing device of claim 35, wherein: The seat availability indicia indicates available seats in the cinema seating map.

37. The computing device of claim 29, comprising: In response to a messaging input from the user, a ticket message is sent to related entities within the user's social network, the ticket message displaying movie title, movie location, movie showtimes, and ticket availability information to the related entities.

38. A computing device, comprising: processor; as well as a memory storing instructions that, when executed by the processor, configure the apparatus to: generating a composite user interface within the user's messaging client application and causing presentation of the composite user interface, the composite user interface including a theater selection portion, a movie selection portion, a showtime selection portion, and a seating map portion, each of the theater selection portion, the movie selection portion, the showtime selection portion, and the seating map portion being presented simultaneously within the composite user interface; receiving a theater selection via the theater selection portion; responsive to the theater selection, accessing a database to retrieve movie data representing a set of movies viewable at the theater selection; causing presentation of the movie data within the movie selection portion of the composite user interface, the movie data representing the set of movies available for viewing at the theater selection; receiving, via the movie selection portion, a movie selection from the collection of movies; responsive to the movie selection, accessing the database to retrieve showtime data representing a set of showtimes for the movie selection at the theater selection; causing presentation of the showtimes data representing the set of showtimes within the showtimes selection portion of the composite user interface; receiving, via the showtime selection portion, a showtime selection from the set of showtimes; In response to the showtime selection, the database is accessed to retrieve: seating data representing a set of seats in the theater selection for the movie selection and the showtime selection; ticket data indicating availability of the set of seats; and social network data of the user associated with the messaging client application; determining, using the social network data and the ticket data, that a friend entity associated with the user has purchased a purchased seat within the set of seats; causing presentation of the seat data representing the set of seats and the ticket data representing availability of the set of seats within the seat map portion of the composite user interface, wherein the seat map portion shows a graphical representation of the friend entity superimposed on a seat reserved by the friend entity; receiving a seat selection of available seats via the seat map portion of the composite user interface; and Using the seat selection, a ticket purchase transaction is performed for the seat selection.

39. The computing device of claim 38, wherein: The composite user interface includes a transaction control, and the ticket purchase transaction is initiated in response to receiving a user selection of the transaction control.

40. The computing device of claim 38, wherein: The composite user interface includes a message control, wherein the instructions further configure the apparatus to: receiving a message sending request via the message control; In response to receiving the message sending request, accessing the database to retrieve social network data, the social network data representing friend entities associated with the user; and Using the social network data, a ticket message is sent to one or more friend entities associated with the user, the ticket message including the seat data and the ticket data.

41. The computing device of claim 40, wherein: The ticket message also includes an invitation to purchase seat tickets for available seats in the set of seats.

42. The computing device of claim 41, wherein: The ticket message also includes indicia showing the user's seat selection.

Citation Information

Patent Citations

  • Movie Reservation Page Product Server and Method

    KR1020150085738A

  • Method and apparatus for sharing booking information and ticket

    US20190166076A1