Add basic overview of Person-related model structure
This commit is contained in:
		
							parent
							
								
									aeb3ebb68b
								
							
						
					
					
						commit
						bfd8f7aa5b
					
				
					 1 changed files with 34 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -6,6 +6,40 @@ Rattail considers the Person to be a central concept, which underpins
 | 
			
		|||
various other concepts such as User, Customer etc. and ideally ties
 | 
			
		||||
them together (e.g. one Person may be both a Customer and Employee).
 | 
			
		||||
 | 
			
		||||
It can be tricky to keep straight all the various relationships
 | 
			
		||||
between e.g. a Customer and Person.  Here is a quick overview of the
 | 
			
		||||
*intended* structure:
 | 
			
		||||
 | 
			
		||||
* **Person** - represents exactly one (real) human
 | 
			
		||||
 | 
			
		||||
* **User** - represents a user account within the Rattail system.
 | 
			
		||||
  typically a user associates with one person, but "system" users do
 | 
			
		||||
  not
 | 
			
		||||
 | 
			
		||||
* **Employee** - represents an employee in the org; this is always
 | 
			
		||||
  associated with one person
 | 
			
		||||
 | 
			
		||||
* **Customer** - represents a customer account for the org.  this may
 | 
			
		||||
  have an "account holder" set, which is a person.  it also may have
 | 
			
		||||
  shoppers (next)
 | 
			
		||||
 | 
			
		||||
* **CustomerShopper** - represents a "shopper" for a customer account.
 | 
			
		||||
  these always relate not only to a customer, but also (separately) to
 | 
			
		||||
  a person who "is" the shopper.  the first shopper is usually the
 | 
			
		||||
  account holder, and is treated as such if no account holder is set
 | 
			
		||||
 | 
			
		||||
* **CustomerPerson** - DEPRECATED but documented here for clarity.
 | 
			
		||||
  there is a table just for connecting person and customer accounts.
 | 
			
		||||
  it is no longer needed since the customer now has "account holder"
 | 
			
		||||
  and "shoppers" which are more explicit
 | 
			
		||||
 | 
			
		||||
* **Member** - represents a member account for the org.  in a retail
 | 
			
		||||
  context this usually associates with a customer account.  it
 | 
			
		||||
  probably also has an "account holder" which is a person
 | 
			
		||||
 | 
			
		||||
* **VendorContact** - represents a contact for a vendor.  always
 | 
			
		||||
  associates with one vendor and one person
 | 
			
		||||
 | 
			
		||||
Rattail can import this data from other (e.g. POS) systems, but it
 | 
			
		||||
also can *export* data to other systems.  And once this data is in
 | 
			
		||||
Rattail it can be used for other features as needed; for instance
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue