| // 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; |
| } |
| } |