-
Notifications
You must be signed in to change notification settings - Fork 548
Gauzy Contacts
In Gauzy we have the following types of "Contacts":
- One tenant can have one or more organizations doing business activities, e.g. sales, hiring, accounting, etc using Gauzy Platform
-
Each Gauzy "Organization" may have client companies to whom it sells products or services (B2B). For example, when the invoice or "Income" record created in Gauzy, it's possible to select "Client". Potentially it can be thousands of Clients for a given organization, but unlikely millions.
-
One of main features of Clients in Gauzy is that they can be "invited" and create own account in Gauzy. E.g. if Org A works with Client B, it can invite such client to create account in Gauzy and review projects, tasks, reports, etc. So essentially each Client can be connected to some Gauzy Organization in another Tenant.
-
Clients are not shared between multiple Organizations. They always connected to just one Organization in Gauzy
-
Each Organization may have lots of Customers for B2C sales, i.e. Customers are always people in Gauzy, not some client companies.
-
In many cases, qty of Customers for a given Organization can be large. E.g. if it's a restaurant, sales are done for lots of customers, some repeated, some one time customers, etc.
-
Customers will not have full accounts in Gauzy (in contrast to Clients), they can only view some limited specific details (e.g. Invoices) or Help Desk, etc.
- In Gauzy, Leads are Contacts records, which are NOT yet converted to Customers or Clients.
-
Each Organization in Gauzy may have Employees who work for that company (full-time, part-time, contractors, etc)
-
Employees have accounts in Gauzy (i.e. they are Users) and can do activities (e.g. create invoices etc)
-
Each Organization in Gauzy may have Candidates for hiring
-
Candidates may have limited accounts in Gauzy to see they application status
See https://github.com/ever-co/gauzy/wiki/Users-vs-Employees for more information about Users. They are not Contacts and users are used only for authentication/authorization purposes. So for example, Employees are users because they can login into Gauzy. If some organization Client invited to Gauzy, he registers some users who will have limited access to Gauzy.
- "organization" table used to store Organizations
- "employee" table used to store Employees
- "candidate" table used to store Candidates (which at some point may become employees)
- "contact" table used to store common contact related fields (e.g. Name if it's business, First + Last Name if it's Person, Address, etc)
- "organization_contact" table (renamed from "organization_client") used to store the Clients, Customers, or Leads records. We need to add ContactType enum with values like "Client", "Customer", "Lead".
- "organization_contact_employee" table (renamed from "organization_client_employee") used to store employees from organizations who are working on some client/customer projects or communicate with the client / customer / leads.