По-рано в тази серия импортирахме модела на база данни на SuiteCRM във Vertabelo и показахме как да използваме функциите на Vertabelo, за да го организираме. В тази статия ще видим колко често срещани CRM данни се съхраняват в неговата база данни. Ще проверим и предположенията, направени в част 2 за връзките между таблиците и техните функции. Ако е необходимо, ще направим модификации на модела.
Какво имаме в момента?
В част 1 инсталирахме SuiteCRM локално с помощта на инсталационния пакет Bitnami. След успешното влизане, главният екран на SuiteCRM изглежда като този по-долу:
Базата данни на SuiteCRM, наречена „bitnami_suitecrm“, е достъпна на място https://127.0.0.1/phpmyadmin. Припомняме, че моделът има 201 маси.
Завършихме част 2 от тази серия с модела, организиран по следния начин:
Основни изисквания за CRM
CRM трябва да ни позволи да водим записи на нашите клиенти и да следим контактите (обаждания, срещи и т.н.), които имаме с тях.
Клиентите са централни за всяка CRM система. Трябва да съхраняваме техните основни организационни данни (име, адрес, приходи, брой служители) и техните данни за контакт (телефон, мобилен телефон, имейл, уебсайт и може би дори социални акаунти). Трябва също така да следим административните данни, като например кога и от кого са добавени или актуализирани техните записи в системата.
Когато мислим за действия, свързани с клиента, обикновено мислим за разговори и срещи. Бихме могли да имаме и някои други действия, които не изискват контакт с клиента:проверка дали проблемът е разрешен, дали е извършено плащане и подобни неща. Искаме да запазим запис на предишни действия, но също така се нуждаем от възможността да планираме бъдещи събития. Освен това ще съхраняваме началния и крайния час на действието, кой е вмъкнал и актуализирал данни за действие, кой е инициирал това конкретно действие и кой е отговорен за него.
Разбира се, има и куп други неща – като вече продадени продукти и услуги и потенциални нови продажби – които също бихме могли да добавим към CRM. Но в тази статия ще се съсредоточим върху това как SuiteCRM съхранява клиентски данни, обаждания и срещи.
Управление на клиенти
Клиентските организации се наричатсметки в SuiteCRM. Ето какво представлява Създаване на нов акаунт екранът изглежда така:
И ето как изглежда таблицата „акаунти“ в базата данни на SuiteCRM:
В рамките на accounts таблица, атрибутите съхраняват информация, въведена в Създаване на нов акаунт екран:
- Основни клиентски данни:
name,description,industry,annual revenue,“rating,ownership,employees,ticker symbol - Данни за контакт:
phone_fax, атрибути на адрес за фактуриране, атрибути на адрес за доставка,phone_office,phone_alternate,website - Промени в клиентските данни в CRM:
created_by,modified_user_id,assigned_user_id,date_entered,date_modifiedиdeleted.
Повечето от тези атрибути са от типа varchar, тъй като CRM трябва да може да съхранява въведени от потребителя данни от всякакъв възможен тип.
accounts таблицата е свързана с много други таблици в базата данни на SuiteCRM. Всички отношения са установени според предположенията, описани в част 2 от тази поредица.
Сметките в SuiteCRM са основно списък с клиенти. Те са свързани с много други таблици в системата:contacts , opportunities , bugs , cases .
В SuiteCRM-говори, контакти са действителни хора, с които говорим от името на тяхната организация (не забравяйте, че в CRM-говоренето тези организации се наричат „акаунти“). Можете да зададете нов контакт към акаунт, както е показано по-долу:
Данните на лицето се съхраняват в contacts маса. account_contacts таблица ни позволява да свържем много контакти с даден акаунт.
Възможности вътре в SuiteCRM са предвидени възможности за продажби. Те са обвързани с етапа на продажби. opportunities и account_opportunities таблиците се използват за съхраняване на данни за множество възможности, свързани с един акаунт.
Както може да се досетите от името им, bugs и accounts_bugs таблиците съхраняват данни за проблеми, свързани с определени акаунти. Модулът SuiteCRM също ни позволява да въвеждаме решения и да проследяваме хронологията на грешки. Грешките са свързани с calls , contact , cases и други таблици.
Модулът „случаи“ се използва за въвеждане и проследяване на проблеми, свързани с услугата. След като добавим нов случай, можем да добавим грешки, свързани с този случай.
Обаждания
Всяка CRM система ще съхранява информация за обажданията до клиенти; SuiteCRM не е по-различен. За да добавите ново обаждане, щракваме върху Дейности --> Обаждания и попълнете необходимите данни. Ще добавим ново обаждане и ще го свържем със съществуващ акаунт и потребител в нашата система.
Ето какво е Обажданията раздел в базата данни изглежда така:
В calls таблица, можем да видим някои от същите атрибути като в accounts маса. Атрибутите created_by , modified_user_id и assigned_user_id отнасят се до потребителя(ите), който(и) е влязъл(и) в това повикване, променил го е или е назначен към повикването. parent_type и parent_id двойка обозначава коя таблица е посочена и стойността на първичния ключ за тази таблица. Повечето от другите атрибути се разбират сами.
Същата структура, използваща релация много към много, се използва за свързване на обаждания с потребители, възможни клиенти и контакти.
След като кликнете върху Запазване бутон, можем да видим нов запис на разговори в нашите Обаждания списък. Сега ще надникнем в базата данни, по-специално в calls и calls_users таблици.
В calls таблица можем да видим, че “parent_type” =Accounts и че идентификаторът в parent_id полето е идентификационният номер на акаунта. В базата данни има няколко таблици, които използват същия атрибут, за да се свържат с една от няколко други таблици. Докато parent_id ще съдържа стойността на първичния ключ в посочената таблица, parent_type обозначава към коя таблица ще се свържем.
Разбира се, в calls_users таблица ще свържем това извикване с назначен потребител.
Срещи
„Срещи и води ” е групата от таблици, използвани за съхраняване на данни, свързани със срещи и потенциални клиенти. Въпреки че е очевидно какви могат да бъдат данните от срещите, водещи отнасят се до потенциалния интерес на клиентите към нашите продукти и услуги. По-късно ще използваме тези възможни клиенти и ще ги свържем с възможности, обаждания и срещи.
Ще забележим, че някои общи правила за именуване на полета в meetings таблица и за свързване на срещи с контакти, възможни клиенти и потребители се прилагат в този раздел.
Както при обажданията, срещите също могат да бъдат възложени на потребители и свързани с клиенти. Ще влезем в нова среща, като щракнем върху Дейности --> Срещи --> Насрочване на среща .
Данните за срещата, веднъж въведени, се съхраняват в SuiteCRM; можем да го видим в списъка със срещи. Както при обажданията, срещите могат да бъдат възложени на акаунти, контакти, задачи, възможности, грешки, случаи, възможни клиенти, проекти, задачи на проекти и цели.
В базата данни meeting таблицата съдържа данни за новодобавената среща. parent_type и parent_id атрибутите се използват по същия начин и за същата цел като calls данни.
meetings_users таблицата съхранява информация за потребителите, които са назначени към определена среща.
Първичните ключове са произволно генерирани хеш стойности. Това ни позволява да имаме уникални стойности за всеки първичен ключ в цялата база данни, а не само във всяка таблица. Това е особено удобно, когато използваме същия атрибут като външен ключ за много различни таблици. Един атрибут съдържа стойността на ключа, докато друг съдържа името на посочената таблица. Това осигурява много по-голяма гъвкавост – повече от необходимостта на системите, покриващи няколко бизнес ситуации в реалния живот.
В част 4, която ще затвори тази серия, ще разгледаме по-отблизо останалата част от SuiteCRM, включително кампании, проекти, възможности и администриране на документи.