Database
 sql >> Database >  >> RDS >> Database

Parte 3 – Clienti, chiamate e riunioni

In precedenza in questa serie, abbiamo importato il modello di database di SuiteCRM in Vertabelo e abbiamo mostrato come utilizzare le funzionalità di Vertabelo per organizzarlo. In questo articolo, vedremo come i dati CRM comuni vengono archiviati nel suo database. Verificheremo anche le ipotesi fatte nella Parte 2 sulle relazioni tra le tabelle e le loro funzioni. Se necessario, apporteremo modifiche al modello.

Che cosa abbiamo attualmente?

Nella parte 1, abbiamo installato SuiteCRM localmente utilizzando il pacchetto di installazione Bitnami. Dopo aver effettuato correttamente l'accesso, la schermata principale di SuiteCRM appare come quella seguente:

Il database di SuiteCRM chiamato “bitnami_suitecrm” è accessibile dalla posizione http://127.0.0.1/phpmyadmin. Ricordiamo che il modello ha 201 tabelle.

Abbiamo concluso la parte 2 di questa serie con il modello organizzato in questo modo:




Requisiti di base per un CRM

Un CRM dovrebbe consentirci di tenere traccia dei nostri clienti e tenere traccia dei contatti (chiamate, riunioni, ecc.) che abbiamo con loro.

I clienti sono al centro di qualsiasi sistema CRM. Abbiamo bisogno di memorizzare i loro dati organizzativi di base (nome, indirizzo, entrate, numero di dipendenti) e i loro dati di contatto (telefono, cellulare, e-mail, sito Web e forse anche account social). Dobbiamo anche tenere traccia dei dati amministrativi, come quando e da chi sono stati aggiunti o aggiornati i loro record nel sistema.

Quando pensiamo alle azioni relative ai clienti, di solito pensiamo a chiamate e riunioni. Potremmo anche avere altre azioni che non richiedono il contatto con il cliente:verificare se un problema è stato risolto, se è stato effettuato un pagamento, cose del genere. Vogliamo tenere un registro delle azioni precedenti, ma abbiamo anche bisogno della capacità di pianificare eventi futuri. Inoltre, memorizzeremo gli orari di inizio e fine dell'azione, chi ha inserito e aggiornato i dati dell'azione, chi ha avviato quella specifica azione e chi ne è responsabile.

Naturalmente, ci sono un sacco di altre cose, come prodotti e servizi precedentemente venduti e potenziali nuove vendite, che potremmo anche aggiungere a un CRM. Ma in questo articolo ci concentreremo su come SuiteCRM archivia i dati dei clienti, le chiamate e le riunioni.

Gestione dei clienti

Le organizzazioni clienti sono chiamate account in SuiteCRM. Ecco cosa è il Crea nuovo account lo schermo assomiglia a:

Ed ecco come appare la tabella "accounts" nel database di SuiteCRM:

All'interno degli accounts tabella, attributi negozio informazioni immesse in Crea nuovo account schermo:

  • Dati di base del cliente:name , description , industry , annual revenue ,“rating , ownership , employees , ticker symbol
  • Dati di contatto:phone_fax , attributi dell'indirizzo di fatturazione, attributi dell'indirizzo di spedizione, phone_office , phone_alternate , website
  • Modifiche ai dati del cliente all'interno del CRM:created_by , modified_user_id , assigned_user_id , date_entered , date_modified e deleted .

La maggior parte di questi attributi sono di tipo varchar perché il CRM deve essere in grado di memorizzare i dati inseriti dall'utente di qualsiasi tipo possibile.

I accounts table è collegato a molte altre tabelle nel database di SuiteCRM. Tutte le relazioni sono stabilite secondo le ipotesi descritte nella Parte 2 di questa serie.

Gli account all'interno di SuiteCRM sono fondamentalmente un elenco di clienti. Sono correlati a molte altre tabelle nel sistema:contacts , opportunities , bugs , cases .

In SuiteCRM, contatti sono persone reali con cui parliamo per conto della loro organizzazione (ricorda, nel linguaggio CRM queste organizzazioni sono chiamate "account"). Puoi assegnare un nuovo contatto a un account, come mostrato di seguito:

I dati della persona sono conservati nei contacts tavolo. I account_contacts la tabella ci consente di mettere in relazione molti contatti con un determinato account.

Opportunità all'interno di SuiteCRM sono stimate le possibilità di vendita. Sono legati alla fase di vendita. Le opportunities e account_opportunities le tabelle vengono utilizzate per archiviare dati su più opportunità relative a un singolo account.

Come puoi intuire dal loro nome, i bugs e accounts_bugs le tabelle memorizzano i dati sui problemi relativi a determinati account. Il modulo SuiteCRM ci consente anche di inserire soluzioni e tenere traccia delle storie di bug. I bug sono relativi a calls , contact , cases e altre tabelle.

Il modulo "casi" viene utilizzato per inserire e tenere traccia dei problemi relativi al servizio. Dopo aver aggiunto un nuovo caso, possiamo aggiungere bug relativi a quel caso.

Chiamate

Qualsiasi sistema CRM memorizzerà le informazioni sulle chiamate ai clienti; SuiteCRM non è diverso. Per aggiungere una nuova chiamata, facciamo clic su Attività --> Chiamate e inserisci i dati necessari. Aggiungeremo una nuova chiamata e la metteremo in relazione con un account e un utente esistenti nel nostro sistema.

Ecco cosa Chiama la sezione all'interno del database è simile a:

Nelle calls tabella, possiamo vedere alcuni degli stessi attributi degli accounts tavolo. Gli attributi created_by , modified_user_id e assigned_user_id fare riferimento all'utente o agli utenti che hanno inserito questa chiamata, l'hanno modificata o sono stati assegnati alla chiamata. Il parent_type e parent_id coppia indica a quale tabella si fa riferimento e il valore della chiave primaria per quella tabella. La maggior parte degli altri attributi sono autoesplicativi.

La stessa struttura, utilizzando una relazione molti-a-molti, viene utilizzata per collegare le chiamate con utenti, lead e contatti.

Dopo aver fatto clic su Salva pulsante, possiamo vedere un nuovo record di chiamata nelle nostre Chiamate elenco. Ora daremo un'occhiata al database, in particolare alle calls e calls_users tabelle.



Nelle calls tabella possiamo vedere che "parent_type" =Account e che l'id nel parent_id campo è l'ID dell'account. All'interno del database sono presenti alcune tabelle che utilizzano lo stesso attributo per connettersi a una delle poche altre tabelle. Mentre parent_id conterrà il valore della chiave primaria nella tabella di riferimento, parent_type indica a quale tabella ci collegheremo.

Naturalmente, nel calls_users tabella collegheremo quella chiamata a un utente assegnato.


Incontri

Le "Riunioni e contatti La sezione " è il gruppo di tabelle utilizzato per archiviare i dati relativi a riunioni e lead. Sebbene sia ovvio quali potrebbero essere i dati della riunione, leader fare riferimento al potenziale interesse dei clienti per i nostri prodotti e servizi. Successivamente, utilizzeremo questi contatti e li collegheremo a opportunità, chiamate e riunioni.

Noteremo che alcune regole generali per la denominazione dei campi nelle meetings tabella e per collegare le riunioni con contatti, lead e utenti vengono applicati in questa sezione.

Come per le chiamate, anche le riunioni possono essere assegnate agli utenti e correlate ai clienti. Entreremo in una nuova riunione facendo clic su Attività --> Riunioni --> Pianifica riunione .

I dati del meeting, una volta inseriti, vengono archiviati all'interno di SuiteCRM; possiamo visualizzarlo nell'elenco delle riunioni. Come per le chiamate, le riunioni possono essere assegnate ad account, contatti, attività, opportunità, bug, casi, lead, progetti, attività di progetto e obiettivi.

Nel database, la meeting la tabella contiene i dati sulla riunione appena aggiunta. Il parent_type e il parent_id gli attributi sono usati allo stesso modo e per lo stesso scopo delle calls dati.



Il meetings_users la tabella memorizza le informazioni sugli utenti assegnati a una determinata riunione.



Le chiavi primarie sono valori hash generati casualmente. Ciò ci consente di avere valori univoci per ogni chiave primaria nell'intero database, non solo in ogni tabella. Ciò è particolarmente utile quando utilizziamo lo stesso attributo come chiave esterna per molte tabelle diverse. Un attributo contiene il valore della chiave, mentre un altro contiene il nome della tabella di riferimento. Ciò fornisce molta più flessibilità, più di quella generalmente necessaria per i sistemi che coprono diverse situazioni aziendali reali.

Nella parte 4, che chiuderà questa serie, daremo uno sguardo più da vicino al resto di SuiteCRM, comprese campagne, progetti, opportunità e amministrazione dei documenti.