Accounts, Users, and Payments
This document uses the following definitions:
- User – a person having the unique identifier (login) in TimelinePI. In current version login is identical to email address.
- Account – a representation of the organization, company, or just a group of users. Each user belongs to one and only one account.
- Account Owner – a user who has full control over the account. By default the same person is Manager and Payer however he could assign other users to that role.
- Account Manager – a user with the privileges to control (add, remove, suspend, resume) other users related to the account and the related projects.
- Account Payer – a user who configures the payments related to the account.
An account becomes the key point of user and money management.
An account includes:
- Owner – a user who fully controls this account.
- Payer – a user who has access to the payment information including payment method, plan selection, etc.
- Manager – a user who controls other users on this account
- List of users who are controlled by and paid by this account
- List of projects consists of the projects owned by account users
- Current product (subscription)
- Payment method
- Current balance, charges and payments history
2.1. User and Account
Any user always belongs to some account. When a user registers at the site (contrary to be invited), he gets his own account. There several ways a user joins an existing account.
Account manager adds user to the account the same way a user shares the project now – by specifying user’s email address. To make the process more efficient, we should allow adding multiple users separated by comma or semicolon. Once such user joins the system, he is immediately linked to the account. The invitation process works like today – an email is sent to the user etc.
A manager could invite a user who’s already in the system. In such case, every time when the user logs in, a modal panel pops up: “You have been invited to join the account XYZ (some explanation here)”. The panel has button: Yes, join the account; No, I want to stay independent.
A user could also leave the organizational account (defined as an account for which the user is not an owner) and get his own account. In such case, as with new registration, a user is his own account manager and payer.
Attention: Inviting new users to the application becomes the exclusive function of a Manager. Project owners, unless they are also account managers, could only add the existing users to the project.
Initially the owner is the person who created the account. However then the owner could transfer it to another user explicitly. Changing the owner doesn’t change Manager and Payer.
Since the change of owner is non-reversible operation, it requires special UI. Once user clicks Change Owner button, the panel pops up asking to select the new owner email – twice. The email must be from the list of account users.