| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| package commerce; |
| |
| option java_package = "org.chromium.components.commerce"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| // These messages are primarily used for over-the-wire communications. If this |
| // information needs to be stored locally, consider building a separate proto. |
| message PriceInsightsData { |
| optional uint64 product_cluster_id = 1; |
| |
| // Typical price range of this product cluster. |
| optional PriceRange price_range = 2; |
| |
| // Price history of one catalog under this product cluster that has relatively |
| // low price compared to other catalogs. |
| optional PriceHistory price_history = 3; |
| |
| enum PriceBucket { |
| UNKNOWN = 0; |
| LOW_PRICE = 1; |
| TYPICAL_PRICE = 2; |
| HIGH_PRICE = 3; |
| } |
| |
| // Position of the catalog's latest price with respect to the 90-day price |
| // range. |
| optional PriceBucket price_bucket = 4; |
| |
| // Whether we have multiple catalogs under this product cluster in the page. |
| optional bool has_multiple_catalogs = 5; |
| } |
| |
| message PriceRange { |
| // Code for the currency e.g. USD. |
| optional string currency_code = 1; |
| |
| // Price considered to be lowest typical among offers of this product. |
| optional int64 lowest_typical_price_micros = 2; |
| |
| // Price considered to be highest typical among offers of this product. |
| optional int64 highest_typical_price_micros = 3; |
| } |
| |
| message PricePoint { |
| // Date in format 'yyyy-mm-dd'. |
| optional string date = 1; |
| |
| // The lowest price for the date. |
| optional int64 min_price_micros = 2; |
| } |
| |
| message PriceHistory { |
| // Code for the currency e.g. USD. |
| optional string currency_code = 1; |
| |
| // Attributes for this catalog, e.g. Unlocked, 4GB, Black. |
| optional string attributes = 2; |
| |
| // The price points list where index 0 contains the start_date' price, and the |
| // next index contains the next date, and so on. |
| repeated PricePoint price_points = 3; |
| |
| // Direct link to the Jackpot page of this product, and specify the attributes |
| // if applicable. |
| optional string jackpot_url = 4; |
| } |