blob: 7d6194a45ffa4d6c19c5495def22d50256da5df5 [file] [log] [blame]
// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.
syntax = "proto2";
option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";
option optimize_for = LITE_RUNTIME;
package sync_pb;
// Specifics for accessibility annotations.
message AccessibilityAnnotationSpecifics {
// A unique identifier for the entity.
optional string id = 1;
// Oneof to support different data types.
oneof entity {
Order order = 2;
Shipment shipment = 3;
DriversLicense drivers_license = 4;
Passport passport = 5;
NationalId national_id = 6;
FlightReservation flight_reservation = 7;
Vehicle vehicle = 8;
}
// Represents a completed purchase transaction from a retail merchant.
message Order {
// A unique alphanumeric ID generated by the retail merchant to identify the
// order.
optional string order_id = 1;
// The unique ID to identify the user's account, typically an email address,
// under which the order was placed.
optional string account = 2;
reserved 3;
reserved "order_date_unix_epoch_seconds";
// The date when the order was placed.
optional NaiveDate order_date = 8;
// The name of the merchant.
optional string merchant_name = 4;
// The domain (eTLD+1) of the merchant.
optional string merchant_domain = 5;
// The names of the products contained within the order.
repeated string product_names = 6;
// The total amount of the purchase, including taxes and shipping
// (e.g., "$123.45").
optional string grand_total = 7;
}
// Represents a shipment of physical goods delivered by a courier or
// logistics service.
message Shipment {
// A unique alphanumeric ID assigned to a shipment by a courier or
// logistics service.
optional string tracking_number = 1;
// The order ID(s) associated with this shipment.
repeated string associated_order_ids = 2;
// The postal address to which the shipment is being delivered.
optional string delivery_address = 3;
// The name of the courier or logistics service delivering the shipment.
optional string carrier_name = 4;
// The domain (eTLD+1) of the courier or logistics service.
optional string carrier_domain = 5;
reserved 6;
reserved "estimated_delivery_date_unix_epoch_seconds";
// The date on which the shipment is estimated to be delivered.
optional NaiveDate estimated_delivery_date = 7;
}
// Represents a government-issued driver's license.
message DriversLicense {
// The name of the user as it appears on the driver's license.
optional string name = 1;
// The unique identifier number for the driver's license.
optional string number = 2;
reserved 3;
reserved "expiration_date_unix_epoch_seconds";
reserved 4;
reserved "issue_date_unix_epoch_seconds";
// The expiration date of the driver's license.
optional NaiveDate expiration_date = 6;
// The issue date of the driver's license.
optional NaiveDate issue_date = 7;
// The state or province that issued the driver's license.
optional string state = 5;
}
// Represents a government-issued passport.
message Passport {
// The name of the user as it appears on the passport.
optional string name = 1;
// The unique identifier number for the passport.
optional string number = 2;
reserved 3;
reserved "expiration_date_unix_epoch_seconds";
reserved 4;
reserved "issue_date_unix_epoch_seconds";
// The expiration date of the passport.
optional NaiveDate expiration_date = 6;
// The issue date of the passport.
optional NaiveDate issue_date = 7;
// The country that issued the passport, normalized as a two-letter country
// code (ISO 3166-1 alpha-2).
optional string issuing_country = 5;
}
// Represents a government-issued national identity document.
message NationalId {
// The name of the user as it appears on the ID.
optional string name = 1;
// The unique identifier number for the national ID.
optional string number = 2;
reserved 3;
reserved "expiration_date_unix_epoch_seconds";
reserved 4;
reserved "issue_date_unix_epoch_seconds";
// The expiration date of the ID.
optional NaiveDate expiration_date = 6;
// The issue date of the ID.
optional NaiveDate issue_date = 7;
// The country that issued the ID, normalized as a two-letter country code
// (ISO 3166-1 alpha-2).
optional string issuing_country = 5;
}
// Represents a record of a reserved flight for a passenger.
message FlightReservation {
// The alphanumeric designation for a specific flight route (e.g., "AA123").
optional string flight_number = 1;
// A unique number issued by an airline or travel agency for the ticket,
// typically 13 digits.
optional string flight_ticket_number = 2;
// A unique alphanumeric identifier for the booking (also known as Record
// Locator or PNR).
optional string flight_confirmation_code = 3;
// The name of the person traveling as it appears on the reservation.
optional string passenger_name = 4;
// The name or IATA code of the airport where the flight originates.
optional string departure_airport = 5;
// The name or IATA code of the airport where the flight terminates.
optional string arrival_airport = 6;
// The scheduled date and time of departure.
optional int64 departure_date_unix_epoch_seconds = 7;
// The scheduled date and time of arrival.
optional int64 arrival_date_unix_epoch_seconds = 8;
}
// Represents a motor vehicle.
message Vehicle {
// The manufacturer of the vehicle.
optional string vehicle_make = 1;
// The specific product name of the vehicle.
optional string vehicle_model = 2;
// The manufacturing year of the vehicle.
optional string vehicle_year = 3;
// The unique 17-character Vehicle Identification Number.
optional string vehicle_identification_number = 4;
// The alphanumeric identifier on the vehicle's license plate.
optional string vehicle_license_plate = 5;
// The state or region that issued the vehicle's license plate.
optional string license_plate_region = 6;
// The country that issued the license plate, normalized to ISO 3166-1
// alpha-2.
optional string license_plate_country = 7;
// The name of the primary owner of the vehicle.
optional string owner_name = 8;
}
// Represents a date without a time zone. This is useful for dates on physical
// documents, like an issue date of a passport.
message NaiveDate {
optional int32 day = 1;
optional int32 month = 2;
optional int32 year = 3;
}
}