Summary

---
config:
  theme: redux-color
---

erDiagram
    TAROTSESSIONINPUT {
        string id
        datetime timestamp
        string userId
        string question
        string tarot_spread_code
        boolean include_reversed
    }

    TAROTSESSION {
        string id
        datetime timestamp
        string userId
        json spread
        json inputs
        json state
        json prediction
    }

    TAROTSESSIONOUTPUT {
        string id
        datetime timestamp
        json cards
        json insights
        string insightsSummary
        json prediction
    }

    USERPROFILE {
        string id
        string displayName
        string userType
        datetime createdAt
        datetime updatedAt
        datetime lastLogin
        string email
        string birthDate
        string birthTime
        string birthPlace
        string relationshipStatus
        string gender
        string natalChart
        json astrology
    }

    USERACCOUNT {
        string id
        string email
        int tokenBalance
        boolean isVerified
    }

    USERTRANSACTIONS {
        string id
        json transactions
    }

    INBOX {
        string id
        json messages
    }

    USERPROFILE ||--|| USERACCOUNT : has_account
    USERPROFILE ||--o{ USERTRANSACTIONS : has_transactions
    USERPROFILE ||--o{ INBOX : has_inbox

    USERPROFILE ||--o{ TAROTSESSIONINPUT : starts_sessions
    USERPROFILE ||--o{ TAROTSESSIONOUTPUT : gets_results
    USERPROFILE ||--o{ TAROTSESSION : has_tarot_sessions

    TAROTSESSIONINPUT ||--|| TAROTSESSION : input_of
    TAROTSESSION ||--|| TAROTSESSIONOUTPUT : produces