// Info about a merchant that is on the aggregator's platform.// A merchant feed should be a list of this message.messageMerchant{// An opaque string generated by the partner that identifies a merchant.// Must be unique across all merchants.// Strongly recommended UID or UUID, or to only include URL-safe characters.// Don't use URIs (required)stringmerchant_id=1;// The name, telephone, URL and geo are used to support matching partner// inventory with merchants already present on Google Maps. This// information is not be displayed but should be a close match to// merchant's Google Business Profiles.// The name of the merchant. (required)stringname=2;// The contact telephone number of the merchant including its country and// area codes, e.g. +14567891234. Highly recommended. (optional)stringtelephone=3;// The URL of the merchant's public website. Highly recommended.// This isn't a booking link to your platform. (optional)stringurl=4;// The Geo info of the merchant, including latitude, longitude, and// address. (required)GeoCoordinatesgeo=5;// The category of the business in aggregator's platform. (required)// You must categorize this business as you categorize it in your// inventory.// We use the category you provide as a parameter when we try to determine// the best location match to the physical business.stringcategory=6;// The specific merchant's Terms and Conditions displayed to the user when// a service is being booked through Reserve with Google.// In addition to these the aggregator partner's Terms and Conditions are// always displayed to the user and must not be provided here. (optional)Termsterms=13;// An opaque string that identifies the consumer-facing brand to use when// displaying partner attribution. This field allows partners with// multiple consumer-facing brands to provide merchants for all brands// within the same feed.//// A brand consists of consumer-facing properties like the name, logo,// Terms of Service, and Privacy Policy.//// If there is only one consumer-facing partner brand, this field doesn't// need to be set and can be ignored.//// If the partner...//// Doesn't have multiple consumer-facing brands?// --> Ignore this field//// Has Multiple Brands that are configured?//// If this field is set// --> Associated consumer-facing brand attribution is used//// If this field is unset or the empty string// --> Default consumer-facing brand attribution is used//// Careful Note: Most partners don't need to set this field. If a partner// wishes to use this field, they must contact us first to configure// separate brands, including the default brand.stringbrand_id=14;
GeoCoordinates 定义
// The Geo data of a location, including latitude, longitude, and address.// At least one of [lat/lng or address] should be provided (or both).messageGeoCoordinates{doublelatitude=1;// In degrees. (optional)doublelongitude=2;// In degrees. (optional)// Address for a location, can either be structured or unstructured.oneofaddresses{// Postal address of the location, preferred.PostalAddressaddress=3;// An unstructured address can also be provided as a fallback.// E.g. "1600 amphitheater parkway mountain view, ca 94043".// Use of only unstructured_address can impact matcher quality.stringunstructured_address=4;}}
PostalAddress 定义
// The postal address for a merchant.messagePostalAddress{// The country, with ISO 3166-1 alpha-2 country code, e.g. "US". (required)stringcountry=1;// The locality/city, e.g. "Mountain View". (required)stringlocality=2;// The region/state/province, e.g. "CA". This field is only required in// countries where region is commonly a part of the address. (optional)stringregion=3;// The postal code, e.g. "94043". (required)stringpostal_code=4;// The street address, e.g. "1600 Amphitheatre Pkwy". (required)stringstreet_address=5;}
条款定义
// A set of rules and guidelines that are displayed to the// user in order to make a booking through Reserve with Google.messageTerms{// The URL to the Terms and Conditions. (optional)stringurl=1;// The text to be displayed to the user.// Use localized_text here for new integrations.stringtext=2;// The localized text to be displayed to the user. (required)Textlocalized_text=3;}
Text 的定义
// A possibly-localized text payload. Some Text fields may contain marked-up// content.messageText{// Required. Text value in an unknown locale, which is displayed if// `localized_value` for the user locale is empty or missing. The locale for// this value can depend on the partner or service provider, and it// shouldn't be assumed to be any specific language.stringvalue=1;// Per-locale text values. Required.repeatedLocalizedStringlocalized_value=2;}
LocalizedString 定义
// Instance of a string in one locale.messageLocalizedString{// IETF BCP 47 language code, such as "en", "mas", "zh-Hant", "de-CH-1901".// See http://www.w3.org/International/articles/language-tags/.stringlocale=1;// Message in the locale here (UTF-8).stringvalue=2;}
[null,null,["最后更新时间 (UTC):2025-07-26。"],[],[],null,["# Merchant Feed Samples and Definitions\n\nMerchant Feed sample\n--------------------\n\nFollowing are the definitions of two merchants:\n\n- `dining-1`: this merchant ID uses a structured address, which is the recommended format.\n- `dining-2`: this merchant ID uses an unstructured address.\n\n {\n \"metadata\": {\n \"processing_instruction\": \"PROCESS_AS_COMPLETE\",\n \"shard_number\": 0,\n \"total_shards\": 1,\n \"nonce\": \"11203880\",\n \"generation_timestamp\": 1524606581\n },\n \"merchant\": [\n {\n \"category\": \"restaurant\",\n \"merchant_id\": \"dining-1\",\n \"name\": \"Dining Eats\",\n \"url\": \"www.dining1publicsite.com\",\n \"telephone\": \"+1 123-456-7890\",\n \"geo\": {\n \"latitude\": 37.422113,\n \"longitude\": -122.084041,\n \"address\": {\n \"locality\": \"Mountain View\",\n \"country\": \"US\",\n \"region\": \"CA\",\n \"street_address\": \"1600 Amphitheatre Pkwy\",\n \"postal_code\": \"94043\"\n }\n }\n },\n {\n \"category\": \"restaurant\",\n \"merchant_id\": \"dining-2\",\n \"name\": \"Burger Heaven\",\n \"url\": \"www.dining2publicsite.com\",\n \"telephone\": \"+1 123-456-12345\",\n \"geo\": {\n \"latitude\": 37.422113,\n \"longitude\": -122.084041,\n \"unstructured_address\": \"345 Spear St., San Francisco, CA 94105\"\n }\n }\n ]\n }\n\nDefinitions\n-----------\n\n| **Note:** The Merchant Feed specification is defined in protocol buffer format. However, we recommend you to upload the feeds in JSON format. For more information, see [JSON sample feeds](/actions-center/verticals/reservations/e2e/reference/feeds/merchants-feed#samples).\n\n### Merchant Feed definition\n\nThe Merchant Feed contains the `FeedMetadata` object and the merchant array. \n\n message MerchantFeed {\n FeedMetadata metadata = 1;\n repeated Merchant merchant = 2;\n }\n\n### Merchant definition\n\n // Info about a merchant that is on the aggregator's platform.\n // A merchant feed should be a list of this message.\n message Merchant {\n\n // An opaque string generated by the partner that identifies a merchant.\n // Must be unique across all merchants.\n // Strongly recommended UID or UUID, or to only include URL-safe characters.\n // Don't use URIs (required)\n\n string merchant_id = 1;\n\n // The name, telephone, URL and geo are used to support matching partner\n // inventory with merchants already present on Google Maps. This\n // information is not be displayed but should be a close match to\n // merchant's Google Business Profiles.\n\n // The name of the merchant. (required)\n string name = 2;\n\n // The contact telephone number of the merchant including its country and\n // area codes, e.g. +14567891234. Highly recommended. (optional)\n string telephone = 3;\n\n // The URL of the merchant's public website. Highly recommended.\n // This isn't a booking link to your platform. (optional)\n string url = 4;\n\n // The Geo info of the merchant, including latitude, longitude, and\n // address. (required)\n GeoCoordinates geo = 5;\n\n // The category of the business in aggregator's platform. (required)\n // You must categorize this business as you categorize it in your\n // inventory.\n // We use the category you provide as a parameter when we try to determine\n // the best location match to the physical business.\n string category = 6;\n\n // The specific merchant's Terms and Conditions displayed to the user when\n // a service is being booked through Reserve with Google.\n // In addition to these the aggregator partner's Terms and Conditions are\n // always displayed to the user and must not be provided here. (optional)\n Terms terms = 13;\n\n // An opaque string that identifies the consumer-facing brand to use when\n // displaying partner attribution. This field allows partners with\n // multiple consumer-facing brands to provide merchants for all brands\n // within the same feed.\n //\n // A brand consists of consumer-facing properties like the name, logo,\n // Terms of Service, and Privacy Policy.\n //\n // If there is only one consumer-facing partner brand, this field doesn't\n // need to be set and can be ignored.\n //\n // If the partner...\n //\n // Doesn't have multiple consumer-facing brands?\n // --\u003e Ignore this field\n //\n // Has Multiple Brands that are configured?\n //\n // If this field is set\n // --\u003e Associated consumer-facing brand attribution is used\n //\n // If this field is unset or the empty string\n // --\u003e Default consumer-facing brand attribution is used\n //\n // Careful Note: Most partners don't need to set this field. If a partner\n // wishes to use this field, they must contact us first to configure\n // separate brands, including the default brand.\n string brand_id = 14;\n\n### GeoCoordinates definition\n\n // The Geo data of a location, including latitude, longitude, and address.\n // At least one of [lat/lng or address] should be provided (or both).\n message GeoCoordinates {\n double latitude = 1; // In degrees. (optional)\n\n double longitude = 2; // In degrees. (optional)\n\n // Address for a location, can either be structured or unstructured.\n oneof addresses {\n // Postal address of the location, preferred.\n PostalAddress address = 3;\n\n // An unstructured address can also be provided as a fallback.\n // E.g. \"1600 amphitheater parkway mountain view, ca 94043\".\n // Use of only unstructured_address can impact matcher quality.\n string unstructured_address = 4;\n }\n }\n\n### PostalAddress definition\n\n // The postal address for a merchant.\n message PostalAddress {\n // The country, with ISO 3166-1 alpha-2 country code, e.g. \"US\". (required)\n string country = 1;\n\n // The locality/city, e.g. \"Mountain View\". (required)\n string locality = 2;\n\n // The region/state/province, e.g. \"CA\". This field is only required in\n // countries where region is commonly a part of the address. (optional)\n string region = 3;\n\n // The postal code, e.g. \"94043\". (required)\n string postal_code = 4;\n\n // The street address, e.g. \"1600 Amphitheatre Pkwy\". (required)\n string street_address = 5;\n }\n\n### Terms definition\n\n // A set of rules and guidelines that are displayed to the\n // user in order to make a booking through Reserve with Google.\n message Terms {\n // The URL to the Terms and Conditions. (optional)\n string url = 1;\n\n // The text to be displayed to the user.\n // Use localized_text here for new integrations.\n string text = 2;\n\n // The localized text to be displayed to the user. (required)\n Text localized_text = 3;\n }\n\n### Text definition\n\n // A possibly-localized text payload. Some Text fields may contain marked-up\n // content.\n message Text {\n // Required. Text value in an unknown locale, which is displayed if\n // `localized_value` for the user locale is empty or missing. The locale for\n // this value can depend on the partner or service provider, and it\n // shouldn't be assumed to be any specific language.\n string value = 1;\n\n // Per-locale text values. Required.\n repeated LocalizedString localized_value = 2;\n }\n\n### LocalizedString definition\n\n // Instance of a string in one locale.\n message LocalizedString {\n // IETF BCP 47 language code, such as \"en\", \"mas\", \"zh-Hant\", \"de-CH-1901\".\n // See http://www.w3.org/International/articles/language-tags/.\n string locale = 1;\n\n // Message in the locale here (UTF-8).\n string value = 2;\n }"]]