A waitlist entry contains the information about a customer's position in the waitlist, including information about the number of parties ahead, wait time, etc.
enum WaitlistEntryState { WAITLIST_ENTRY_STATE_UNSPECIFIED = 0; // The waitlist entry was created and the user is currently waiting in the // waitlist. WAITING = 1; // The waitlist entry is awaiting confirmation by the merchant. PENDING_MERCHANT_CONFIRMATION = 8; // The waitlist entry has been canceled by the user. Cancellation for no-shows // should use the NO_SHOW state. CANCELED = 2; // The waitlist entry has been declined by the merchant. DECLINED_BY_MERCHANT = 7; // The merchant is ready to serve the user. SERVICE_READY = 3; // The user has checked in with the host and is waiting to be seated. CHECKED_IN = 4; // The user has arrived and been seated by the merchant. SEATED = 5; // The user did not arrive at the merchant in time and lost their space. NO_SHOW = 6; } // The times at which the waitlist entry changed state. message WaitlistEntryStateTimes { // Required. The time at which the waitlist entry was created. // In seconds since Unix epoch. int64 created_time_seconds = 1; // The time that the waitlist entry was cancelled. Must be populated // when the waitlist entry has been canceled but not before. // In seconds since Unix epoch. int64 canceled_time_seconds = 2; // The time the merchant was ready to serve the user. // service_readied_time_seconds must be populated after the merchant is // ready to serve the user but not before. // In seconds since Unix epoch. int64 service_readied_time_seconds = 3; // The actual time the user checked in with the host. checked_in_time must be // populated after the user has checked in with the merchant but not before. // In seconds since Unix epoch. int64 checked_in_time_seconds = 4; // The seated time for the user. seated_time_seconds must be populated // when the user has been seated but not before. // In seconds since Unix epoch. int64 seated_time_seconds = 5; // The time that the user was marked as a no-show. marked_no_show_time_seconds // must be populated when the user has been marked a no-show but not before. // In seconds since Unix epoch. int64 marked_no_show_time_seconds = 6; } // An entry in the waitlist. message WaitlistEntry { // Required. WaitlistEntryState waitlist_entry_state = 1; // Required. The times at which the waitlist entry changed state. WaitlistEntryStateTimes waitlist_entry_state_times = 2; // Required. Contains fields measuring how long (in time or # of people) until // the user is ready to leave the waitlist and be seated. WaitEstimate wait_estimate = 3; }