/services/local_services_lead_service.proto

--- v19/services/local_services_lead_service.proto  2025-04-14 05:29:57.000000000 +0000
+++ v19-1/services/local_services_lead_service.proto    2025-04-14 05:30:02.000000000 +0000
@@ -46,6 +50,15 @@
     };
     option (google.api.method_signature) = "customer_id,conversations";
   }
+
+  // RPC to provide feedback on Local Services Lead resources.
+  rpc ProvideLeadFeedback(ProvideLeadFeedbackRequest)
+      returns (ProvideLeadFeedbackResponse) {
+    option (google.api.http) = {
+      post: "/v19/{resource_name=customers/*/localServicesLeads/*}:provideLeadFeedback"
+      body: "*"
+    };
+  }
 }

 // Request message for
@@ -94,3 +107,64 @@
     google.rpc.Status partial_failure_error = 2;
   }
 }
+
+// Details about various factors for being satisfied with the lead.
+message SurveySatisfied {
+  // Required. Provider's reason for being satisfied with the lead.
+  google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum
+      .SurveySatisfiedReason survey_satisfied_reason = 1
+      [(google.api.field_behavior) = REQUIRED];
+
+  // Optional. Provider's free form comments. This field is required when
+  // OTHER_SATISFIED_REASON is selected as the reason.
+  string other_reason_comment = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Details about various factors for not being satisfied with the lead.
+message SurveyDissatisfied {
+  // Required. Provider's reason for not being satisfied with the lead.
+  google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum
+      .SurveyDissatisfiedReason survey_dissatisfied_reason = 1
+      [(google.api.field_behavior) = REQUIRED];
+
+  // Optional. Provider's free form comments. This field is required when
+  // OTHER_DISSATISFIED_REASON is selected as the reason.
+  string other_reason_comment = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [LocalServicesLeadService.ProvideLeadFeedback][google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback].
+message ProvideLeadFeedbackRequest {
+  // Required. The resource name of the local services lead that for which the
+  // feedback is being provided.
+  string resource_name = 1 [
+    (google.api.field_behavior) = REQUIRED,
+    (google.api.resource_reference) = {
+      type: "googleads.googleapis.com/LocalServicesLead"
+    }
+  ];
+
+  // Required. Survey answer for Local Services Ads Lead.
+  google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer
+      survey_answer = 2 [(google.api.field_behavior) = REQUIRED];
+
+  // Details about various factors for being satisfied or dissatisfied with the
+  // lead.
+  oneof survey_details {
+    // Details about various factors for being satisfied with the lead.
+    SurveySatisfied survey_satisfied = 3;
+
+    // Details about various factors for not being satisfied with the lead.
+    SurveyDissatisfied survey_dissatisfied = 4;
+  }
+}
+
+// Response message for
+// [LocalServicesLeadService.ProvideLeadFeedback][google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback].
+message ProvideLeadFeedbackResponse {
+  // Required. Decision of bonus credit issued or rejected. If a bonus credit is
+  // issued, it will be available for use in about two months.
+  google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum
+      .CreditIssuanceDecision credit_issuance_decision = 1
+      [(google.api.field_behavior) = REQUIRED];
+}