WaitlistEntryFailure definition

  • WaitlistEntry creation can fail due to various business logic reasons, such as an existing waitlist entry, party size limitations, merchant's operational status (closed or no wait), waitlist capacity, unsupported phone number country, or waitlist closure.

  • If a WaitlistEntry creation fails, the WaitlistBusinessLogicFailure message provides a specific Cause for the failure, offering insight into the reason.

  • The WaitlistBusinessLogicFailure message may optionally include a description field for debugging purposes, providing additional context to the partner.

WaitlistEntry failure can happen when creating a waitlist entry.

// Status data that conveys why creating a waitlist entry fails.
// If there is a business logic error that is not captured here, please
// reach out to the Reserve with Google team to add it to this list. Other
// errors should be returned using standard HTTP error codes.
message WaitlistBusinessLogicFailure {
  enum Cause {
    // Default value: Don't use; amounts to an "unknown error"
    // Unexpected errors must be returned using standard HTTP error codes.
    CAUSE_UNSPECIFIED = 0;

    // The user has already booked a waitlist entry with the partner.
    EXISTING_WAITLIST_ENTRY = 1;

    // The requested party size is below the merchants minimum.
    BELOW_MIN_PARTY_SIZE = 2;

    // The requested party size is above the merchants maximum.
    ABOVE_MAX_PARTY_SIZE = 3;

    // The requested merchant is currently closed.
    MERCHANT_CLOSED = 4;

    // There is currently no wait and the user should walk in without joining
    // the waitlist.
    NO_WAIT = 5;

    // The waitlist is at capacity and new users are not being accepted at this
    // time.
    WAITLIST_FULL = 6;

    // The country of the phone number is not supported.
    PHONE_NUMBER_COUNTRY_UNSUPPORTED = 7;

    // The waitlist is closed and not accepting new users. This is expected when
    // the waitlist enters state CLOSED_OTHER after the user has already seen a
    // wait estimate.
    WAITLIST_CLOSED = 8;
  }

  // Required. The reason why the booking failed.
  Cause cause = 1;

  // This optional field is used for the partner to include additional
  // information for debugging purposes only.
  string description = 2;
}