Activities, Follow-ups, Notes, Tickets, Cases

Business perspective: Activities, Follow-ups, Cases, Notes, Tickets

1. Business Summary

Cross-entity collaboration objects: activities (calls/emails/meetings), follow-ups (next actions), notes, tickets, and cases (issues with type/status/priority).

2. Business Value

Keeps all communication tied to the business record (account/lead/opportunity/job/task/invoice/etc.).

3. Users / Stakeholders

All operational users.

4. Workflows

  • Activity → optional FollowUp → may escalate to EntityCase.
  • EntityCase has CaseStatus, CasePriority, CaseType; closer logged.
  • FreshSales activity sync.
  • Each linked to many entity types via FK columns.

5. Sub-Features

  • Activity types/statuses, follow-ups, notes, tickets.
  • EntityCase with priority/type/status/close.
  • EntityFile attachments with strict validation (title/desc/file_name/filesystem_name/size/date).

6. Business Rules

  • ActivityStatus drives valid states.
  • Case lifecycle: new → open → in_progress → resolved → closed.
  • File metadata required.

7. Data Entities

Activity, FollowUp, Note, Ticket, EntityCase, EntityFile, Feedback, FeedbacksCasesStatus, FeedbacksCasesAction.

8. Entry Points

  • crm/activities, crm/followUps, crm/feedbacks, crm/entityCases, crm/entityFiles.
  • Home plugin: home/activities, home/notes, home/tickets, home/follow_ups.

9. Inputs & Outputs

  • Inputs: text, attachments, related entity.
  • Outputs: linked records, alerts.

10. Integrations

  • FreshSales activity sync.
  • Email / push.

11. Calculations / Logic

  • Implicit overdue calculation: today > follow_date.

12. Status Lifecycle

  • ActivityStatus, CaseStatus.

13. Permissions

  • Owner/closer/modifier; entity-derived viewers via security engine.

14. Reports & KPIs

  • Activities by user/entity, case resolution time.

15. Risks & Observations

  • Cross-entity linking complicates retention/cleanup.
  • FreshSales sync errors logged but no automatic remediation.

16. Source Code Evidence

  • app/Plugin/crm/Model/{Activity, FollowUp, Feedback, EntityCase, EntityFile}.php.
  • app/Plugin/home/Controller/{ActivitiesController, NotesController, TicketsController, FollowUpsController, EntityCasesController, EntityFilesController, SeekAdvicesController}.php.

← Deep dives index