/common/asset_types.proto

--- v11/common/asset_types.proto    2022-10-07 15:24:07.000000000 +0000
+++ v12/common/asset_types.proto    2022-10-07 15:24:09.000000000 +0000
@@ -981,3 +984,40 @@
   // ios_app_link field must also be present.
   int64 ios_app_store_id = 14;
 }
+
+// A location asset.
+message LocationAsset {
+  // Place IDs uniquely identify a place in the Google Places database and on
+  // Google Maps.
+  // This field is unique for a given customer ID and asset type. See
+  // https://developers.google.com/places/web-service/place-id to learn more
+  // about Place ID.
+  string place_id = 1;
+
+  // The list of business locations for the customer.
+  // This will only be returned if the Location Asset is syncing from the
+  // Business Profile account. It is possible to have multiple Business Profile
+  // listings under the same account that point to the same Place ID.
+  repeated BusinessProfileLocation business_profile_locations = 2;
+
+  // The type of location ownership.
+  // If the type is BUSINESS_OWNER, it will be served as a location extension.
+  // If the type is AFFILIATE, it will be served as an affiliate location.
+  google.ads.googleads.v12.enums.LocationOwnershipTypeEnum.LocationOwnershipType location_ownership_type = 3;
+}
+
+// Business Profile location data synced from the linked Business Profile
+// account.
+message BusinessProfileLocation {
+  // Advertiser specified label for the location on the Business Profile
+  // account. This is synced from the Business Profile account.
+  repeated string labels = 1;
+
+  // Business Profile store code of this location. This is synced from the
+  // Business Profile account.
+  string store_code = 2;
+
+  // Listing ID of this Business Profile location. This is synced from the
+  // linked Business Profile account.
+  int64 listing_id = 3;
+}