8.1. Data Entities and Attributes
Entity
Attribute
Data Type
Description
Constraints
Users
id
integer
Auto-incremented ID of the user.
Primary Key, Not Null
user_id
uuid
Public unique identifier of the user.
Unique, Not Null
s_id
text
ID from Strapi users table.
Unique, Not Null
first_name
text
First name of the user.
Not Null
middle_name
text
Middle name of the user.
Nullable
last_name
text
Last name of the user.
Not Null
text
Email address.
Unique, Not Null, Contains PII
phone
text
Phone number.
Not Null, Contains PII
dob
date
Date of birth of the user.
Not Null, Contains PII
sso_provider
text
SSO provider name.
Nullable
image
character varying(255)
URL or path to user image.
Nullable
enabled
boolean
Whether the user is enabled.
Not Null
blocked
boolean
Whether the user is blocked.
Not Null
roles
text[]
Roles of the user (e.g., 'provider', 'super-user').
Nullable
fieldsVerified
boolean
Flag if user fields are verified.
Not Null
fieldsVerifiedAt
timestamp with time zone
Timestamp when fields were verified.
Nullable
createdAt
timestamp(3)
Creation timestamp.
Not Null
updatedAt
timestamp(3)
Last update timestamp.
Not Null
Applications
id
integer
Auto-incremented ID of the application.
Primary Key
benefitId
text
ID of the benefit applied for.
Not Null
status
text
Status of the application.
Not Null
applicationData
jsonb
Details submitted with the application.
May Contain PII
bapId
text
ID of the business application platform.
Nullable, May Contain PII
customerId
text
Customer identifier.
Nullable, Contains PII (UUID)
isEligibilityCheckPassed
boolean
Indicates if the application passed the eligibility check.
Not Null
eligibilityStatus
text
Status of eligibility process.
Nullable
createdAt
timestamp(3)
Timestamp when the application was created.
Not Null
updatedAt
timestamp(3)
Timestamp when the application was last updated.
Not Null
ApplicationFiles
id
integer
Auto-incremented ID of the application file.
Primary Key
storage
text
Storage location identifier.
Not Null
filePath
text
Path of the uploaded file.
Not Null
verificationStatus
jsonb
Status of the file verification process.
Nullable
applicationId
integer
Reference to the associated application.
Foreign Key -> Applications(id)
issuerName
text
Name of the issuer of the file.
Nullable
createdAt
timestamp(3)
Timestamp when the record was created.
Not Null
updatedAt
timestamp(3)
Timestamp when the record was last updated.
Not Null
Provider
id
integer
Auto-incremented ID of the provider.
Primary Key
catalogManagerId
text
ID from Strapi identifying the catalog manager.
Indexed, Not Null
catalogManagerDocumentId
text
Document ID associated with the catalog manager.
Indexed, Nullable
name
text
Name of the provider.
Indexed, Nullable
catalogManagerCode
text
Code identifying the catalog manager.
Indexed, Nullable
catalogManagerRole
text[]
Roles of the catalog manager.
Nullable
description
text
Description of the provider.
Nullable
createdAt
timestamp(3)
Creation timestamp.
Not Null
updatedAt
timestamp(3)
Last update timestamp.
Not Null
publishedAt
timestamp(3)
Timestamp when published.
Nullable
locale
text
Locale or language info.
Nullable
audit_logs
id
integer
Unique audit log ID.
Primary Key
timestamp
timestamp with time zone
Timestamp of the audit event.
Not Null
user_type
character varying(50)
Type of user (e.g., admin, beneficiary).
Nullable
user_id
uuid
User ID who performed the action.
Foreign Key -> users(user_id), Contains PII
action
character varying(255)
Action performed by the user.
Nullable
action_data
jsonb
Details of the action in JSON format.
Nullable
old_data
jsonb
Previous data before action (if any).
Nullable
new_data
jsonb
New data after action (if any).
Nullable
log_transaction_text
text
Transaction text for the log.
Nullable
template
text
Template used for the log.
Nullable
consent
id
integer
Unique consent record ID.
Primary Key
user_id
uuid
User ID who gave consent.
Foreign Key -> users(user_id), Contains PII
purpose
character varying(255)
Purpose for which consent was given.
Nullable
purpose_text
text
Detailed text of the purpose.
Nullable
accepted
boolean
Whether consent was accepted.
Not Null
consent_date
timestamp with time zone
Date and time when consent was given.
Not Null
roles
id
integer
Unique role ID.
Primary Key
name
character varying(50)
Name of the role.
Unique, Not Null
type
character varying(50)
Type of role.
Nullable
description
text
Description of the role.
Nullable
createdAt
timestamp with time zone
Record creation timestamp.
Not Null
updatedAt
timestamp with time zone
Record last update timestamp.
Not Null
wallet
id
integer
Unique wallet record ID.
Primary Key
user_id
uuid
User ID associated with the wallet.
Foreign Key -> users(user_id), Contains PII
wallet_id
text
Wallet public ID.
Nullable, Contains PII
token
text
Wallet authentication token or secure identifier.
Nullable
status
boolean
Indicates whether the wallet is active.
Not Null
created_at
timestamp with time zone
Timestamp when the record was created.
Not Null
updated_at
timestamp with time zone
Timestamp when the record was last updated.
Not Null
verifiable_credentials
id
integer
Unique VC record ID.
Primary Key
user_id
uuid
User ID associated with the VC.
Foreign Key -> users(user_id), Contains PII
type
text
Type of credential.
Not Null
status
text
Status of the credential (e.g., 'active', 'revoked').
Not Null
data
jsonb
The actual VC payload in JSON format.
Not Null
credential_id
character varying(255)
Unique ID of the credential.
Not Null
image
text
URL or path to the credential image.
Nullable
issuer_id
character varying(255)
Issuer ID of the credential.
Not Null
issuer_name
character varying(255)
Name of the issuer of the credential.
Not Null
createdAt
timestamp with time zone
Record creation timestamp.
Not Null
updatedAt
timestamp with time zone
Record last update timestamp.
Not Null
Last updated
