blob: 2c26b260f798e98d316ae08e458c0ca6d4fcd9bf [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
edition = "2023";
package optimization_guide.proto;
import "components/optimization_guide/proto/features/common_quality_data.proto";
option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.optimization_guide.features.proto";
option java_outer_classname = "WalletablePassExtractionProto";
// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is generated in g3 and then synced to Chrome. Instead, please refer to
// http://go/chrome-mqls-onboarding (Google-internal link), and then changes will
// be synced with Chrome automatically.
message WalletablePassExtractionLoggingData {
WalletablePassExtractionRequest request = 1 [features = { field_presence: EXPLICIT }];
WalletablePassExtractionResponse response = 2 [features = { field_presence: EXPLICIT }];
}
message WalletablePassExtractionRequest {
// The context of the page that the pass is on.
PageContext page_context = 1 [features = { field_presence: EXPLICIT }];
// The category of the pass to be extracted.
PassCategory pass_category = 2 [features = { field_presence: EXPLICIT }];
}
message WalletablePassExtractionResponse {
repeated WalletablePass walletable_pass = 1;
}
message WalletablePass {
// The oneof matches the PassCategory.
oneof pass {
LoyaltyCard loyalty_card = 1;
EventPass event_pass = 2;
}
}
message LoyaltyCard {
// The loyalty plan name (e.g. Walgreen Rewards).
string plan_name = 1 [features = { field_presence: EXPLICIT }];
// The name of the issuer (e.g. Walgreens).
string issuer_name = 2 [features = { field_presence: EXPLICIT }];
// The member ID of the loyalty program.
string member_id = 3 [features = { field_presence: EXPLICIT }];
}
message EventPass {
// The name of the event, such as "LA Dodgers at SF Giants".
string event_name = 1 [features = { field_presence: EXPLICIT }];
// The start date of the event, such as "2020-01-01".
string event_start_date = 2 [features = { field_presence: EXPLICIT }];
// The time when the event starts. If the event spans multiple
// days, it should be the start time on the first day.
string event_start_time = 3 [features = { field_presence: EXPLICIT }];
// The time when the event ends. If the event spans multiple
// days, it should be the end time on the last day.
string event_end_time = 4 [features = { field_presence: EXPLICIT }];
// A label (such as "Seat") and value for the seat number (such as
// "1", "2", "3", or any other seat identifier).
string seat = 5 [features = { field_presence: EXPLICIT }];
// A label (such as "Row") and value for the row of the seat (such
// as "1", E", "BB", or "A5").
string row = 6 [features = { field_presence: EXPLICIT }];
// A label (such as "Section" or "Theater") and value for the
// section of the seat (such as "121").
string section = 7 [features = { field_presence: EXPLICIT }];
// A label (such as "Gate" or "Door") and a value for the gate the
// ticket holder should enter to get to their seat, such as "A" or "West".
string gate = 8 [features = { field_presence: EXPLICIT }];
// The name of the venue, such as "AT&T Park".
string venue = 9 [features = { field_presence: EXPLICIT }];
// The address of the event.
string address = 10 [features = { field_presence: EXPLICIT }];
// The name of the event pass owner.
string owner_name = 11 [features = { field_presence: EXPLICIT }];
// The issuer name of the event, such as "ticketmaster".
string issuer_name = 12 [features = { field_presence: EXPLICIT }];
}
enum PassCategory {
PASS_CATEGORY_UNSPECIFIED = 0;
PASS_CATEGORY_LOYALTY_CARD = 1;
PASS_CATEGORY_EVENT_PASS = 2;
}