Users and Membership

User

Storage

Table: FloatMeAPI_usermodel

Location: us-east-2 RDS

Columns

  • user_id - generated by auth0

  • first_name

  • last_name

  • email

  • address

  • city

  • state

  • zip_code

  • date_joined

  • date_updated

  • employment_validation - User Status - PROCESSING, ACTIVE, PAUSED, BANNED, INVESTIGATE, etc

  • install_id - Firebase messaging ID. Used to send notifications and identify device

Status

PROCESSING - User has created an auth0 account. We immediately save a user record with this status.

ACTIVE - User moves to active status as soon as they link their first plaid item. At this point, a membership and subscription record are created and the user is eligible to be billed. If the user leaves this status, they will not be billed a subscription (this includes overdue subs).

PAUSED - User has cancelled, and their subscription has come to an end. User can login, but is presented with a reactivation screen.

INVESTIGATE - Status that MX can put users into. User will not be able to take out floats, and they will not be billed a subscription.

BANNED - MX can ban a user for any reason. Users will also be banned if we receive a chargeback for a float or subscription collection attempt. MX can unban a user in backoffice, but user still has to reactive.

user status

Membership

Storage

Table: prod-user-service-users

Location: us-east-2 DynamoDB

Keys

  • PK: USERS#user_id

  • SK: TIER#start_date

  • DBType: MEMBERSHIP

Attributes

  • membership_user_id

  • membership_tier

  • membership_term

  • membership_status

  • membership_event_source

  • membership_confirmation_id

  • membership_subscription_id

  • membership_start_date

  • membership_reactivation_date

  • membership_pause_date

  • membership_unpause_date

  • membership_pause_duration_months

Phone Numbers

Storage

Table: user-phone-numbers

Location: us-east-1 DynamoDB

Keys

  • user_id

GSI - phone_number-index

  • phone_number

Attributes

  • user_id

  • phone_number

  • last_updated

Tags

Storage

Table: prod-user-service-users

Location: us-east-2 DynamoDB

Keys

  • PK: USER#user_id

  • SK: TAG#tag_name

Attributes

  • tag_name

  • tag_value

  • tag_archived