---
# System prepended metadata

title: Untitled

---

Epic for all thing related to the user signup:

Workflow:
1. Pricing page: Select package on https://beta.ororatech.com/pricing/
3. Signup page: Enter user details on app.ororatech.com/singup?package=basic 
    1. First name
    1. Last name
    1. Email
    1. Country
4. Send email with activation link
5. Billing page: Redirect to stripe for billing details
    1. Updates the user state when billing details are present
6. After clicking the activation link
    1. Set user password
    1. If stripe data is present -> User is logged in
    1. If stripe data is missing -> Redirect to billing page

Topics
------

* [ ] Signup Page "shopping cart/checkout", frontend part
* [ ] Billing Page with stripe JS, frontend part
* [ ] Stripe integration, backend part
    * Search for mechanisms available for stripe data synchonization
* [ ] User registration, backend part
   * Store attributes like email, name, payment status, etc.
   * Send verification/Welcome email with token
   * when verify token when link is clicked, allow to set password if payment status = ok
* [ ] User account settings, frontend
  - Dropdown on the top right of the page with settings and logout
  - Change user settings (name, password)
  - Cancel subscription
  - Proper login faliure messages. #480
* [ ] Actual billing after 14 days
    * Maybe possible trough stripe, otherwise check in our backend
* [ ] Demo mode (Low prio)
    - Restrict view to one of [ random large fire, some famous fire event , ???] if no billig data is present
    - Restrict API queries
    - Disable Notification features

User states:
- UNPAID
- TRIAL
- PAID

User role
- BASIC
- RESEARCH
- ENTERPRISE
- INTERNAL

Example signup screen (#2)
![](https://i.imgur.com/SHHFcv6.png)