-
Notifications
You must be signed in to change notification settings - Fork 4
Membership
Members are both the users of the system and the meta data about them in the organization.
erDiagram
members {
longtext additional_info
date background_check_expires_on
int birth_month
int birth_year
int branch_id FK
varchar city
datetime created
int created_by
datetime deleted
varchar email_address UK
int failed_login_attempts
varchar first_name
int id PK
datetime last_failed_login
datetime last_login
varchar last_name
varchar membership_card_path
date membership_expires_on
varchar membership_number
varchar middle_name
varchar mobile_card_token
datetime modified
int modified_by
int parent_id
varchar password
varchar password_token
datetime password_token_expires_on
varchar phone_number
varchar sca_name
varchar state
varchar status
varchar street_address
int verified_by
datetime verified_date
varchar zip
}
member_roles }o--|| members : "approver_id"
member_roles }o--|| members : "member_id"
members }o--|| branches : "branch_id"
officers_officers }o--|| members : "member_id"
Member core data consists of:
- SCA Name: The SCA name they go by
- Legal First, Middle and Last names
- Branch: The branch they are associated to
- Membership Number: Their membership number is confirmed and added to the account by a verification process
- Member Expiration: When their membership expires, not editable by the user.
- Address, City, State, Zip: Address info (not required)
- Phone Number: not required
- Birth Month & Year: Used to calculate age and manage youth access
- Parent: Association to a parent for youth accounts. Like Membership this is managed by a separate process
- Status: their current state in the system
- active: Member CAN log in but their membership information is not available or has not been verified
- verified: Member CAN log in and their membership has been verified
- unverified minor: Member CAN NOT log in until a parent account has been associated to them
- < 18 member verified: Member CAN NOT log in until a parent account has been associated but their membership information has been verified
- < 18 parent veriified: Member CAN log in but their membership has not been verified
- verified < 18: Member CAN log in because their parent has been associated and their membership has been verified.
- deactivated: Member is locked out of the system until they are placed back in a valid status.
- List of Roles: The roles (current, upcoming, and previous) that a user has been granted
- Notes: Public and private notes associated with the Member.
- Additional Information: Extendable data configurable through App Settings
- Activities: The activity authorization information (see Activities)
- Offices: The officer information (see Officers)
When a member registers their is a workflow to manage verifying required information to be fully enabled.
graph TD;
new[New Registration]-->age[Are they 18 or older?]
age-- yes --> adult[Verify Membership Information]
adult -- Good Info --> goodA[Status upated to 'verified']
age -- no --> youth[Asssociate Parent Record]
age -- no --> youth2[Verify Membership Information]
youth -- yes --> youthGood1[Status changed to '< 18 parent verified']
youth2 -- yes --> youthGood2[Status changed to '< 18 member verified']
youthGood1 -- Has Good Membership Info --> youthfinal[Status changed to 'verified < 18']
youthGood2 -- Has Parent Associated --> youthfinal
There are two types of Member cards that can be rendered.
Member cards consist of some basic information about the member and then plugin's can inject additional data. Currently the Activity plugin injects what activities a member can authorize and what authorizations a member has.
These are accessible from the UI for the Member under their name by clicking on "My Auth Card"
The Mobile card is a progressive web app that can be installed on members homescreens. This is done by sending a link to their email that they then answer on their phone. Once installed the card will have a cache of its last read from the system and when on line updates every 5 minutes. There is also a refresh button on the card for more immidate updates when online.
Mobile cards do not require login, the link sent to the member has a mobile token that is a 16 byte random code to allow that token to view exactly that 1 card.
Once added as a app to their home page the card will have an icon and name on their phone and be easy to access.
What about Apple or Android Wallets? An Apple Wallet or Android wallet pass could be developed but they require developer agreements (which should be done at the Corporate level) also Apple requires a nominal fee of $99/year to maintain that developer agreemement.