इस श्रृंखला में पहले, हमने सुइटसीआरएम के डेटाबेस मॉडल को वर्टाबेलो में आयात किया और दिखाया कि इसे व्यवस्थित करने के लिए वर्टाबेलो की सुविधाओं का उपयोग कैसे करें। इस लेख में, हम देखेंगे कि इसके डेटाबेस में सामान्य सीआरएम डेटा कैसे संग्रहीत किया जाता है। हम तालिका और उनके कार्यों के बीच संबंधों के बारे में भाग 2 में की गई धारणाओं की भी जाँच करेंगे। यदि आवश्यक हो, तो हम मॉडल में संशोधन करेंगे।
वर्तमान में हमारे पास क्या है?
भाग 1 में, हमने Bitnami स्थापना पैक का उपयोग करके स्थानीय रूप से SuiteCRM स्थापित किया है। सफलतापूर्वक लॉग इन करने के बाद, मुख्य सुइटसीआरएम स्क्रीन नीचे की तरह दिखती है:
“bitnami_suitecrm” नामक सुइटसीआरएम डेटाबेस http://127.0.0.1/phpmyadmin स्थान पर पहुंच योग्य है। याद रखें कि मॉडल में 201 टेबल हैं।
हमने इस श्रृंखला के भाग 2 को इस तरह व्यवस्थित मॉडल के साथ समाप्त किया:
सीआरएम के लिए बुनियादी आवश्यकताएं
एक सीआरएम को हमें अपने ग्राहकों के रिकॉर्ड रखने और उनके साथ हमारे संपर्कों (कॉल, मीटिंग आदि) का ट्रैक रखने में सक्षम बनाना चाहिए।
ग्राहक किसी भी सीआरएम सिस्टम के लिए केंद्रीय होते हैं। हमें उनके बुनियादी संगठनात्मक डेटा (नाम, पता, राजस्व, कर्मचारियों की संख्या) और उनके संपर्क डेटा (फोन, मोबाइल, ईमेल, वेबसाइट, और शायद सामाजिक खाते भी) को स्टोर करने की आवश्यकता है। हमें प्रशासनिक डेटा पर भी नज़र रखनी होती है, जैसे कि उनके रिकॉर्ड कब और किसके द्वारा सिस्टम में जोड़े या अपडेट किए गए।
जब हम क्लाइंट-संबंधित कार्यों के बारे में सोचते हैं, तो हम आमतौर पर कॉल और मीटिंग के बारे में सोचते हैं। हमारे पास कुछ अन्य कार्रवाइयां भी हो सकती हैं जिनके लिए क्लाइंट के साथ संपर्क की आवश्यकता नहीं होती है:यह जांचना कि क्या कोई समस्या हल हो गई है, यदि कोई भुगतान किया गया है, तो इस तरह की चीजें। हम पिछले कार्यों का रिकॉर्ड रखना चाहते हैं, लेकिन हमें भविष्य की घटनाओं को निर्धारित करने की क्षमता की भी आवश्यकता है। इसके अलावा, हम कार्रवाई के प्रारंभ और समाप्ति समय को संग्रहीत करेंगे, जिसने कार्रवाई डेटा डाला और अपडेट किया, उस विशिष्ट कार्रवाई को किसने शुरू किया, और इसका प्रभारी कौन है।
बेशक, अन्य चीजों का एक समूह है - जैसे पहले बेचे गए उत्पाद और सेवाएं, और संभावित नई बिक्री - जिसे हम सीआरएम में भी जोड़ सकते हैं। लेकिन इस लेख में, हम इस बात पर ध्यान देंगे कि 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
तालिका सुइटसीआरएम डेटाबेस में कई अन्य तालिकाओं से जुड़ी है। सभी संबंध इस श्रृंखला के भाग 2 में वर्णित मान्यताओं के अनुसार निर्धारित किए गए हैं।
सुइटसीआरएम के अंदर खाते मूल रूप से ग्राहकों की एक सूची है। वे सिस्टम में कई अन्य तालिकाओं से संबंधित हैं:contacts
, opportunities
, bugs
, cases
.
SuiteCRM-speak में, संपर्क वास्तविक लोग हैं जिनसे हम उनके संगठन की ओर से बात करते हैं (याद रखें, सीआरएम-स्पीक में इन संगठनों को "खाते" कहा जाता है)। आप किसी खाते में एक नया संपर्क असाइन कर सकते हैं, जैसा कि नीचे दिखाया गया है:
व्यक्ति का डेटा contacts
टेबल। account_contacts
तालिका हमें किसी दिए गए खाते से कई संपर्कों को जोड़ने में सक्षम बनाती है।
अवसर सुइटसीआरएम के अंदर अनुमानित बिक्री संभावनाएं हैं। वे बिक्री चरण से बंधे हैं। opportunities
और account_opportunities
तालिकाओं का उपयोग एकल खाते से संबंधित अनेक अवसरों के बारे में डेटा संग्रहीत करने के लिए किया जाता है।
जैसा कि आप उनके नाम से अनुमान लगा सकते हैं, bugs
और accounts_bugs
तालिकाएँ कुछ खातों से संबंधित समस्याओं के बारे में डेटा संग्रहीत करती हैं। सुइटसीआरएम मॉड्यूल हमें समाधान दर्ज करने और बग इतिहास को ट्रैक करने में भी सक्षम बनाता है। बग calls
. से संबंधित हैं , contact
, cases
और अन्य टेबल।
"केस" मॉड्यूल का उपयोग सेवा से संबंधित समस्याओं को दर्ज करने और ट्रैक करने के लिए किया जाता है। एक नया मामला जोड़ने के बाद, हम उस मामले से संबंधित बग जोड़ सकते हैं।
कॉल
कोई भी CRM सिस्टम क्लाइंट को कॉल के बारे में जानकारी संग्रहीत करेगा; सुइटसीआरएम अलग नहीं है। एक नया कॉल जोड़ने के लिए, हम गतिविधियां -> कॉल . पर क्लिक करते हैं और आवश्यक डेटा भरें। हम एक नई कॉल जोड़ेंगे और इसे हमारे सिस्टम में मौजूदा खाते और उपयोगकर्ता से जोड़ेंगे।
यहां बताया गया है कि कॉल डेटाबेस के अंदर अनुभाग इस तरह दिखता है:
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 में, जो इस श्रृंखला को बंद कर देगा, हम बाकी सुइटसीआरएम पर करीब से नज़र डालेंगे, जिसमें अभियान, प्रोजेक्ट, अवसर और दस्तावेज़ प्रशासन शामिल हैं।