Loading...
 
Skip to main content

History: Customer_Relationship_Management

Source of version: 68 (current)

Copy to clipboard
            ^ This is not active. It is possible to make a CRM with ((doc:Webmail)) and ((doc:Trackers)) but you need to configure as per your needs. ^



TikiCRM will be developed at and once it's good enough, it will de converted to a profile, so anyone can deploy in one click.


{maketoc}

! Developer notes
{CODE(caption="1-liner to re-install a fresh Tiki with profile")}php installer/shell.php install; sh setup.sh; php lib/search/shell.php rebuild; php lib/profilelib/shell.php install Customer_Relationship_Management; sh setup.sh{CODE}

!! Missing features
* ((Permission Management))
** Users are automatically unassigned from the group after
** prefs for user trackers
*** New we get "You do not have permission to insert an item"
* After a user joins a group (with payment), it should not produce an error
** ((doc:PluginMemberPayment))
** After paying on ((Membership)): This invoice does not exist or is in limited access.

! Basic prefs
!! General
{CODE(caption="YAML")}
instructions: Setup
preferences:
 feature_trackers: y
 allowRegister: y
 payment_feature: y
 wikiplugin_addtocart : y
 wikiplugin_memberpayment : y
 userTracker: y
 {CODE}

!! Temporary 
{CODE(caption="YAML")}
preferences:
 validateUsers: n
 {CODE}


!! Membership-groups
{CODE(caption=>YAML,wrap=>1)}
permissions:
 Members:
  description: Members of the organization
{CODE}

! Wiki pages
{CODE(caption="YAML")}
objects:
 -
  type: wiki_page
  ref: crm_home_page
  data:
   name: HomePage
   content: wikicontent:Customer_Relationship_Management_HomePage
 -
  type: wiki_page
  ref: crm_setup
  data:
   name: Setup
   description: Post-Profile Setup Instructions
   lang: en
   content: wikicontent:Customer_Relationship_Management_Setup
 -
  type: wiki_page
  ref: crm_myprofile
  data:
   name: MyProfile
   content: wikicontent:Customer_Relationship_Management_MyProfile
 -
  type: wiki_page
  ref: crm_membership
  data:
   name: Membership
   content: wikicontent:Customer_Relationship_Management_Membership
{CODE}


((Customer_Relationship_Management_HomePage))
((Customer_Relationship_Management_Setup))
((Customer_Relationship_Management_MyProfile))
((Customer_Relationship_Management_Membership))


! Trackers
!! Contact info
{CODE(caption=YAML)}
objects:
 -
  type: tracker
  ref: crmcontact
  data:
   name: CRM contacts 
 -
  type: tracker_field
  ref: crmusername
  data:
   order: 10
   name: Username
   type: user
   tracker: $crmcontact
 -
  type: tracker_field
  ref: crmfirstname
  data:
   order: 20
   name: First name
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmlastname
  data:
   order: 30
   name: Last Name
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmorganization
  data:
   order: 40
   name: Organization
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmaddress
  data:
   order: 50
   name: Address
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmcity
  data:
   order: 60
   name: City
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmprovince
  data:
   order: 70
   name: State/province
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmpostalcode
  data:
   order: 80
   name: Zip/Postal code
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmcountry
  data:
   order: 90
   name: Country
   type: country
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmmobilephone
  data:
   order: 100
   name: Mobile Phone
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmofficephone
  data:
   order: 110
   name: Office Phone
   type: text_field
   tracker: $crmcontact 
 -
  type: tracker_field
  ref: crmemail
  data:
   order: 120
   name: E-mail
   type: text_field
   tracker: $crmcontact 
{CODE}

!! Actions




!! Menus
{CODE(caption="YAML" wrap="1")}
objects:
 -
  type: menu
  ref: CRM_Top_menu
  data:
   name: Top
   description: A menu containing the base navigation of the site
   collapse: none
   items:
    -
     name: Home
     url: ((HomePage))
    -
     name: My Profile
     url: ((MyProfile))
    -
     name: Membership
     url: ((Membership))
    -
     name: Help
     url: ((Help))
    -
     name: Setup
     url: ((Setup))
     permissions: [ admin ]
{CODE}



!! Menu on top
{CODE(caption=>YAML,wrap=>0)}
objects: 
 - 
  type: module
  data: 
   name: menu
   params: 
    id: $CRM_Top_menu
    type: horiz
    menu_id: tiki-top
    nobox: y
   groups: 
   order: 1
   position: topbar
{CODE}
! Features
-=Contacts and membership management=-
* Database of contacts, managed by admins
* Some of those contacts have logins and can update their profile as per ((User_Trackers))
* Anonymous can create an account and update profile
* Registered users can become members (and pay) (there is more than 1 membership type) as per: http://doc.tiki.org/Payment#Membership_Management
* Members have access to privileged content  (A members-only category)


-= Interaction management (ticket system) =-
* Make trackers for contacts with customers (ticket system)
** with admin field (visible to user) with time spent
*** When ticket is closed, this is passed to the ((doc:Credit)) system 
** Registered users can use the ticket system (report issues, etc.)
** Admins can also use the ticket system to log interactions with contacts (whether or not they are members)



! Actions by group
What are various actions that can be done by various user types in a typical CRM/Membership Management System?

!! Anonymous
* Have access to the public information about the organization
* Are invited to ((doc:register)) to the site

!! Registered
* Can ((doc:login)) and update their profile ((doc:user tracker)) with name, phone number address, photo, etc.
** A main staff contact for each (so the best person calls when relevant) 
** Note: there are some contacts which have no login and the info is solely maintained by staff
* Can ((doc:payment|pay)) for membership
** Payment is via ((doc:Paypal)) or manual payment
* Can see if payment is due
* ((doc:credits))
** Can purchase
** Can check status
** Can use credits
* Can't see other profiles
* Can register to an event
* Can purchase an item (ex.: book) via the ((doc:Shopping Cart))
* Tickets (using ((doc:Trackers)))
** log a support ticket
** review status of tickets already submitted

!! Members
* See [tiki-browse_categories.php?parentId=3|restricted section for members]. This is a ((doc:category)) with ((doc:permissions)).

!! Staff
* Send Newsletters to members in good standing
* Can promote list of members on public site
* Can change the user type
** Ex.: Contact, Lead, Past Customer, etc.
* Can see full list of members
* Can edit wiki pages and member's profile
* ((doc:Credits))
** Can manage credits for all users
* View all and respond to all tickets

!! Admins
* Can do everything

! Questions
* Do we need to make the distinction between an individual contact and a company/account which has many contacts in it.
** Would be simpler not to. Otherwise, we need to figure something out with ((doc:group trackers)).
* interaction or actions, or should they be called something else?


! Nice to have 
* Admins can indicate: Time spent (minutes to be deducted from Credits, when ticket is closed)
* Admins can filter contacts by a criteria and contact them
* User groups can have access to a common contact database with different access levels. For example the contact database "sales" is readable by the members of "sales", "sales_senior" can add contacts and edit those contacts they own and "sales_admin" can reassign contacts to others and edit them all. Another user group "tech" will have their own contact database and so on.
* Each contact can have n different contact types with different values, for example 3 entries "telephone". new contact types can be defined
* for some contact types links can be generated (for example if I enter data into a homepage field, this is a link to the website, for a telephone number this is a link to a helper script on my pbx server to trigger a call and for an email it is a mailto link of course.
* Notes can be attached to a contact which are visible to all or to the author only
* Documents can be attached to a contact
* contacts can be grouped in relations: Bill is the superior of Joe, Lisa is the wife of Joe etc.

! Long term
* Show off credit system
* ((doc:Shopping cart)) is available to replenish credits (this part needs to be coded)
* Use ((doc:payment)) to run a ((doc:Data Channel)) (to show off the new feature)

! Todo
* Make more tests as an end user becoming a member
** change top menu
* Clarify the [http://crm.tiki.org/tiki-view_tracker.php?trackerId=2|CRM action aspect]
** It should look like a ticket from the client's perspective, with some hidden fields for the admins
* {CODE(caption="Array in http://crm.tiki.org/tiki-view_tracker_item.php?view=+user")}<title>test company    Array</title>{CODE}
* How does a user know if he has outstanding payments?
* Make activity tracker (calls, etc) work
** What about contact with no username? (what is in drop down?)
* Make group tracker associate within profile for ((User_Trackers))
* Profile should ask for: sender email

! Related profiles
* ((Social_Networking_Service))
* ((Project_Management))
* ((Mail_Merge))

! Related links
* http://en.wikipedia.org/wiki/Customer_relationship_management
* http://en.wikipedia.org/wiki/Category:Free_customer_relationship_management_software
* http://dev.tiki.org/crm
* http://wikisuite.org/Customer-Relationship-Management


-=alias=-
* (alias(CRM))
* (alias(Contact Relationship Management))
* (alias(Community Relationship Management))
* (alias(Client Relationship Management))
* (alias(Constituent Relationship Management))
* (alias(Membership))