//// Information about an Entity that is on the partner's platform. For example,// an Entity could be a retail store, a hospital, an online business etc.messageEntity{// An opaque string generated by the partner that identifies an Entity.// Must be unique across all entities.// Strongly recommended to only include URL-safe characters. (required)stringentity_id=1;// If present, the name, telephone, url and location are used to support// matching partner inventory with entities already present on Google. This// information will not be displayed.// The name of the Entity. (required)stringname=2;// The contact telephone number of the Entity including its country and area// codes, e.g. +14567891234. Highly recommended. (optional)stringtelephone=3;// The url of the Entity's public website. Highly recommended. (optional)stringurl=4;// The location of the Entity (required)madden.ingestion.GeoCoordinateslocation=5;// This field is used by the aggregator to define which Brand should be// applied to which entity. (optional)stringaggregator_brand_id=6;}
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{// [-90, +90] degrees (inclusive). (optional)doublelatitude=1;// [-180, +180] degrees (inclusive). (optional)doublelongitude=2;// Address for a location, could either be structured or unstructured.oneofaddresses{// Postal address of the location, preferred.PostalAddressaddress=3;// An unstructured address could also be provided as a fallback.// E.g. "1600 amphitheatre parkway mountain view, ca 94043"stringunstructured_address=4;}}
PostalAddress 定义
// The postal address for a merchant.messagePostalAddress{// The country, using 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;}
[null,null,["最后更新时间 (UTC):2025-08-06。"],[[["\u003cp\u003eEntity feeds provide information about businesses on your platform and should be formatted according to the provided Entity feed specification, preferably in JSON.\u003c/p\u003e\n"],["\u003cp\u003eDaily, upload full Entity feed refreshes to the generic SFTP dropbox, ensuring unique filenames for both data and descriptor files (including timestamps is recommended).\u003c/p\u003e\n"],["\u003cp\u003eEntity data files require a \u003ccode\u003ereservewithgoogle.entity\u003c/code\u003e name within the fileset descriptor and must include mandatory fields like \u003ccode\u003eentity_id\u003c/code\u003e, \u003ccode\u003ename\u003c/code\u003e, and \u003ccode\u003elocation\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eMonitor feed ingestion status and access SFTP dropbox details through designated sections within the partner portal (\u003ca href=\"https://partnerdash.google.com/apps/reservewithgoogle/configuration/feeds\"\u003eConfiguration > Feeds\u003c/a\u003e and \u003ca href=\"https://partnerdash.google.com/apps/reservewithgoogle/dashboards/feeds\"\u003eFeeds > History\u003c/a\u003e).\u003c/p\u003e\n"]]],["Entity feeds, in JSON format, must be created and uploaded daily as full refreshes to the generic SFTP dropbox, using unique file names with timestamps. The entity data file should follow the specified `EntityFeed` and `Entity` structure, including details like `entity_id`, `name`, `telephone`, `url`, and `location` with `GeoCoordinates`. A descriptor file, also with a unique timestamped name, must accompany the entity data file, setting the `name` field to `reservewithgoogle.entity`, and listing the data file. Both the entity data and the descriptor file must be uploaded.\n"],null,["Create and upload Entity feeds\n\nWhen creating and uploading Entity feeds, follow these instructions:\n\n- Follow the spec described in the [Entity feed](#MerchantFeed-definition) for Entity data files. We recommend using unique Entity data file names for each upload. Include a timestamp in the filename, for example, `Entity_1633621547.json`.\n- In the fileset descriptor, set the `name` field to `reservewithgoogle.entity`. For an example of the descriptor file, refer to the [JSON sample](#descriptor-file). We recommend using unique descriptor file names for each upload. Include a timestamp in the filename, for example, `Entity_1633621547.filesetdesc.json`. The descriptor file must be uploaded to the generic SFTP server.\n- Upload feeds to the generic SFTP server daily as full refreshes.\n- You can find SFTP server details in the [Configuration \\\u003e Feeds](https://partnerdash.google.com/apps/reservewithgoogle/configuration/feeds) section of the Partner Portal.\n\n\nSelecting feed servers in the Partner Portal\n- View feed ingestion status in the [Feeds \\\u003e History](https://partnerdash.google.com/apps/reservewithgoogle/dashboards/feeds) section of the Partner Portal.\n\nDefinitions **Note:** The entity feed spec defines in protobuffer format as follows, however we recommend you to upload the feeds in JSON format. For more information, refer to [JSON sample feeds](#samples).\n\nEntityFeed definition \n\n```protobuf\nmessage EntityFeed {\n repeated Entity data = 1;\n}\n```\n\nEntity definition \n\n```protobuf\n//\n// Information about an Entity that is on the partner's platform. For example,\n// an Entity could be a retail store, a hospital, an online business etc.\nmessage Entity {\n // An opaque string generated by the partner that identifies an Entity.\n // Must be unique across all entities.\n // Strongly recommended to only include URL-safe characters. (required)\n string entity_id = 1;\n\n // If present, the name, telephone, url and location are used to support\n // matching partner inventory with entities already present on Google. This\n // information will not be displayed.\n\n // The name of the Entity. (required)\n string name = 2;\n\n // The contact telephone number of the Entity including its country and area\n // codes, e.g. +14567891234. Highly recommended. (optional)\n string telephone = 3;\n\n // The url of the Entity's public website. Highly recommended. (optional)\n string url = 4;\n\n // The location of the Entity (required)\n madden.ingestion.GeoCoordinates location = 5;\n\n // This field is used by the aggregator to define which Brand should be\n // applied to which entity. (optional)\n string aggregator_brand_id = 6;\n}\n```\n\nGeoCoordinates definition \n\n```protobuf\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).\nmessage GeoCoordinates {\n // [-90, +90] degrees (inclusive). (optional)\n double latitude = 1;\n\n // [-180, +180] degrees (inclusive). (optional)\n double longitude = 2;\n\n // Address for a location, could either be structured or unstructured.\n oneof addresses {\n // Postal address of the location, preferred.\n PostalAddress address = 3;\n\n // An unstructured address could also be provided as a fallback.\n // E.g. \"1600 amphitheatre parkway mountain view, ca 94043\"\n string unstructured_address = 4;\n }\n}\n```\n\nPostalAddress definition \n\n```protobuf\n// The postal address for a merchant.\nmessage PostalAddress {\n // The country, using 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\nEntity feed samples\n\n\u003cbr /\u003e\n\nEntity feed\n\nFilename : entity_1697754089_0001.json \n\n```carbon\n{\n \"data\": [\n {\n \"entity_id\": \"dining-1\",\n \"name\": \"Sample Eatery 1\",\n \"telephone\": \"+1-415-876-5432\",\n \"url\": \"www.sampleeatery1.com\",\n \"location\": {\n \"latitude\": 37.404570,\n \"longitude\": -122.033160,\n \"address\": {\n \"country\": \"US\",\n \"locality\": \"Sunnyvale\",\n \"region\": \"CA\",\n \"postal_code\": \"94089\",\n \"street_address\": \"815 11th Ave\"\n }\n }\n },\n {\n \"entity_id\": \"dining-2\",\n \"name\": \"Sample Eatery 2\",\n \"telephone\": \"+1-415-123-4567\",\n \"url\": \"www.sampleeatery2.com\",\n \"location\": {\n \"latitude\": 37.422113,\n \"longitude\": -122.084041,\n \"address\": {\n \"country\": \"US\",\n \"locality\": \"Sunnyvale\",\n \"region\": \"CA\",\n \"postal_code\": \"94089\",\n \"street_address\": \"805 11th Ave\"\n }\n }\n }\n ]\n}\n```\n\nDescriptor File\n\nFilename : entity_1697754089.filesetdesc.json \n\n```scdoc\n{\n \"generation_timestamp\": 1697754089,\n \"name\": \"reservewithgoogle.entity\",\n \"data_file\": [\n \"entity_1697754089_0001.json\",\n \"entity_1697754089_0002.json\"\n ]\n}\n```"]]