Skip to main content

Contactmomenten

Summary

Register every customer interaction (phone, email, chat, desk visit) as a structured contact moment. Provides complete contact history per person and organization.

Standards

StandardMapping
Schema.orgCommunicateAction
VNG KlantinteractiesContactmoment, KlantContactmoment, ObjectContactmoment

Components

Backend

  • lib/Service/ContactmomentService.php -- Permission-checked delete (creator or admin only)
  • lib/Controller/ContactmomentController.php -- REST API: DELETE /api/contactmomenten/{id}
  • Schema defined in lib/Settings/pipelinq_register.json (contactmoment object)

Frontend

  • src/views/contactmomenten/ContactmomentenList.vue -- List view with CnIndexPage, filtering, sorting
  • src/views/contactmomenten/ContactmomentDetail.vue -- Detail view with edit/delete
  • src/views/contactmomenten/ContactmomentForm.vue -- Standalone registration form with channel-specific fields
  • src/components/ContactmomentQuickLog.vue -- Reusable quick-log form for embedding in other views

Data Model

PropertyTypeRequiredDescription
subjectstringYesSubject of the interaction
channelenumYestelefoon, email, balie, chat, social, brief
outcomeenumNoafgehandeld, doorverbonden, terugbelverzoek, vervolgactie
clientUUIDNoReference to client
requestUUIDNoReference to request
agentstringAutoNextcloud user UID
contactedAtdatetimeAutoTimestamp of interaction
durationstringNoISO 8601 duration
channelMetadataobjectNoChannel-specific data
notesstringNoInternal notes

Change History

  • 2026-03-25: Completed backend service, fixed frontend data flow (feature/65/contactmomenten)
  • 2026-03-22: Initial implementation of views, store, schema, navigation (archived)