entity UserProfile(t_user_profile) { creationDate Instant required, description String maxlength(255), name String maxlength(100), updateDate Instant } entity BankUser(t_user) { creationDate Instant required, msisdn String maxlength(20), email String required pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/), firstname String maxlength(50), lastname String maxlength(50), updateDate Instant } relationship ManyToOne { BankUser{userProfile} to UserProfile } entity UserConnection(t_user_connection) { haction String, hresource String, hcreationDate Instant required, loginDate Instant required, logoutDate Instant } relationship ManyToOne { UserConnection{user} to BankUser } entity CustomerType(t_customer_type) { label String required maxlength(50) } entity Customer(t_customer) { active Boolean required, number String maxlength(25), corporateName String maxlength(50), tradeRegister String maxlength(50), firstname String maxlength(50), lastname String maxlength(50), birthdate String maxlength(10), gpsLatitude Double min(0), gpsLongitude Double min(0), email String pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/), homePhone String maxlength(20), mobilePhone String maxlength(20), workPhone String maxlength(20), question String maxlength(150), qresponse String maxlength(150), address String maxlength(255), city String maxlength(50), postalCode String maxlength(10), version Integer } relationship ManyToOne { Customer{customerType} to CustomerType, Customer{bank} to Bank, Customer{user} to BankUser } enum TransactionChannel{ USSD, MOBILE, WEB, SMS, OTHERS } enum AccountSecurity{ NONE, SMS_OTP, EMAIL_OTP, SMS_EMAIL_OTP, SMS_PUSH_USSD } enum AccountType{ CUSTOMER, MERCHANT, CUSTOMER_AND_MERCHANT, OPERATION } enum TransactionType{ CASH_IN, CASH_OUT, PAYMENT, MoMo2MoMo, MoMo2Airtime, MoMo2Bank, MoMo2Card, Airtime2MoMo, Airtime2Airtime, Airtime2Bank, Airtime2Card, Bank2MoMo, Bank2Airtime, Bank2Bank, Bank2Card, Card2MoMo, Card2Airtime, Card2Bank, Card2Card } //----------------------------------- entity Currency(t_currency) { code String required maxlength(5), shortLabel String required maxlength(20), longLabel String required maxlength(50) } entity Country(t_country) { code String required maxlength(5), shortLabel String required maxlength(20), longLabel String required maxlength(50) } relationship ManyToOne { Country{currency} to Currency } entity BankAccount(t_account) { active Boolean required, number String required maxlength(30), accountType AccountType required, accountSecurity AccountSecurity required, phonenumber String maxlength(20), balance Double, pinNumber String maxlength(255), comment String maxlength(255) } relationship ManyToOne { BankAccount{bank} to Bank, BankAccount{currency} to Currency, BankAccount{customer} to Customer, } entity AccountBalance(t_account_balance) { active Boolean required, balance Double, situationDate Instant required } relationship ManyToOne { AccountBalance{bankAccount} to BankAccount } entity Bank(t_bank) { code String required maxlength(10), label String required maxlength(50) } relationship ManyToOne { Bank{country} to Country } entity Card(t_card) { active Boolean required, number String required maxlength(20), validityDate String required maxlength(8), cvv2 String required maxlength(5), pin String required maxlength(255) } relationship ManyToOne { Card{bankAccount} to BankAccount } entity Transaction(t_transaction) { transactionNumber String required maxlength(20), gatewayTransactionNumber String maxlength(20), externalMeansofpayment String maxlength(255), transactionType TransactionType required, transactionChannel TransactionChannel required, active Boolean required, transactionAmount Double, feesSupported Boolean required, changeFeesSupported Boolean required, transactionFees Double min(0), transactionChangeFees Double min(0), direction String required maxlength(1), transactionDate Instant required, comment String maxlength(255) } relationship ManyToOne { Transaction{bankAccount} to BankAccount, Transaction{transactionStatus} to TransactionStatus } entity TransactionStatus(t_transaction_status) { label String required maxlength(50) } entity Language(t_language) { lkey String required maxlength(20), lmessage String required maxlength(255) }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more