Customer Satisfaction & Feedback

Business perspective: Customer Satisfaction & Feedback

1. Business Summary

Sends satisfaction surveys post-delivery, collects ratings/feedback, updates contact/account scores, alerts AMs on issues; supports unsubscribe.

2. Business Value

Quality measurement and remediation; renewal/up-sell signal.

3. Users / Stakeholders

Clients, AMs, brand managers, QA.

4. Workflows

  • Cron decides eligibility (job completion, satisfaction option per account).
  • Email with token link sent.
  • Client fills out rating; logged in ContactSatisfaction and recursively into Contact/Account scores.

5. Sub-Features

  • SatisfactionMailSendOption per account.
  • ContactSatisfaction (per response).
  • Feedback / FeedbacksType / FeedbacksCasesAction / FeedbacksCasesStatus.
  • Rating aggregation.

6. Business Rules

  • Tokens unique per send.
  • Unsubscribe respected.
  • Rating cascades to contact/account aggregates.

7. Data Entities

ContactSatisfaction, ContactSatisfactionLog, Feedback, FeedbacksType, FeedbacksCasesStatus, FeedbacksCasesAction, Rating, SatisfactionMailSendOption.

8. Entry Points

  • satisfaction/*, rating/*.
  • Cron in CommonCronsController.

9. Inputs & Outputs

  • Inputs: completed jobs, contact, link, rating.
  • Outputs: scores, alerts, logs.

10. Integrations

  • Email; CRM.

11. Calculations / Logic

  • Aggregation of contact/account scores.

12. Status Lifecycle

  • Sent / responded / unsubscribed / expired.

13. Permissions

  • Public link access; internal scoring restricted.

14. Reports & KPIs

  • NPS, response rate, brand-level scores.

15. Risks & Observations

  • Email deliverability/spam risk.
  • Token reuse if not invalidated.

16. Source Code Evidence

  • app/Controller/SatisfactionController.php (~726 LOC).
  • app/Controller/RatingController.php.
  • app/Plugin/crm/Model/ContactSatisfaction.php.

← Deep dives index