Initial commit
This commit is contained in:
222
07-database-schema-draft.md
Normal file
222
07-database-schema-draft.md
Normal file
@ -0,0 +1,222 @@
|
||||
# Database Schema Draft - QRIS Soundbox Platform v1
|
||||
|
||||
## 1. merchants
|
||||
- id
|
||||
- merchant_code
|
||||
- legal_name
|
||||
- brand_name
|
||||
- status
|
||||
- onboarding_status
|
||||
- fee_profile_id
|
||||
- settlement_account_reference
|
||||
- settlement_account_type
|
||||
- payout_mode
|
||||
- created_at
|
||||
- updated_at
|
||||
|
||||
## 2. merchant_documents
|
||||
- id
|
||||
- merchant_id
|
||||
- document_type
|
||||
- document_url
|
||||
- verification_status
|
||||
- created_at
|
||||
|
||||
## 3. outlets
|
||||
- id
|
||||
- merchant_id
|
||||
- outlet_code
|
||||
- name
|
||||
- address
|
||||
- status
|
||||
- created_at
|
||||
- updated_at
|
||||
|
||||
## 4. terminals
|
||||
- id
|
||||
- outlet_id
|
||||
- terminal_code
|
||||
- qr_mode
|
||||
- partner_reference
|
||||
- status
|
||||
- created_at
|
||||
- updated_at
|
||||
|
||||
## 5. devices
|
||||
- id
|
||||
- device_code
|
||||
- serial_number
|
||||
- vendor
|
||||
- model
|
||||
- firmware_version
|
||||
- communication_mode
|
||||
- capability_profile_json
|
||||
- auth_method
|
||||
- status
|
||||
- last_seen_at
|
||||
- created_at
|
||||
- updated_at
|
||||
|
||||
## 6. device_bindings
|
||||
- id
|
||||
- device_id
|
||||
- merchant_id
|
||||
- outlet_id
|
||||
- terminal_id
|
||||
- active_flag
|
||||
- bound_at
|
||||
- unbound_at
|
||||
|
||||
## 7. device_heartbeats
|
||||
- id
|
||||
- device_id
|
||||
- received_at
|
||||
- network_strength
|
||||
- battery_level
|
||||
- firmware_version
|
||||
- state
|
||||
- payload_json
|
||||
|
||||
## 8. device_configs
|
||||
- id
|
||||
- device_id
|
||||
- config_version
|
||||
- config_json
|
||||
- active_flag
|
||||
- created_at
|
||||
|
||||
## 9. device_commands
|
||||
- id
|
||||
- device_id
|
||||
- command_name
|
||||
- command_payload_json
|
||||
- command_status
|
||||
- requested_by
|
||||
- requested_at
|
||||
- ack_at
|
||||
|
||||
## 10. transactions
|
||||
- id
|
||||
- transaction_code
|
||||
- merchant_id
|
||||
- outlet_id
|
||||
- terminal_id
|
||||
- device_id
|
||||
- qr_mode
|
||||
- initiation_mode
|
||||
- partner_reference
|
||||
- amount
|
||||
- currency
|
||||
- status
|
||||
- created_at
|
||||
- paid_at
|
||||
- expired_at
|
||||
- updated_at
|
||||
|
||||
## 11. transaction_events
|
||||
- id
|
||||
- transaction_id
|
||||
- event_type
|
||||
- source
|
||||
- payload_json
|
||||
- created_at
|
||||
|
||||
## 12. notifications
|
||||
- id
|
||||
- transaction_id
|
||||
- device_id
|
||||
- delivery_channel
|
||||
- payload_type
|
||||
- delivery_status
|
||||
- retry_count
|
||||
- ack_status
|
||||
- sent_at
|
||||
- ack_at
|
||||
|
||||
## 13. ledger_entries
|
||||
- id
|
||||
- merchant_id
|
||||
- transaction_id
|
||||
- entry_type
|
||||
- amount
|
||||
- direction
|
||||
- balance_effect
|
||||
- created_at
|
||||
|
||||
## 14. settlements
|
||||
- id
|
||||
- merchant_id
|
||||
- settlement_period_start
|
||||
- settlement_period_end
|
||||
- gross_amount
|
||||
- fee_amount
|
||||
- net_amount
|
||||
- payout_status
|
||||
- payout_reference
|
||||
- created_at
|
||||
- paid_at
|
||||
|
||||
## 15. settlement_items
|
||||
- id
|
||||
- settlement_id
|
||||
- transaction_id
|
||||
- gross_amount
|
||||
- fee_amount
|
||||
- net_amount
|
||||
|
||||
## 16. payout_attempts
|
||||
- id
|
||||
- settlement_id
|
||||
- partner_reference
|
||||
- amount
|
||||
- status
|
||||
- response_payload_json
|
||||
- attempted_at
|
||||
|
||||
## 17. reconciliation_records
|
||||
- id
|
||||
- reconciliation_type
|
||||
- entity_type
|
||||
- entity_id
|
||||
- external_reference
|
||||
- internal_amount
|
||||
- external_amount
|
||||
- status
|
||||
- notes
|
||||
- created_at
|
||||
|
||||
## 18. audit_logs
|
||||
- id
|
||||
- actor_type
|
||||
- actor_id
|
||||
- action
|
||||
- entity_type
|
||||
- entity_id
|
||||
- before_json
|
||||
- after_json
|
||||
- source_ip
|
||||
- created_at
|
||||
|
||||
## 19. users
|
||||
- id
|
||||
- name
|
||||
- email
|
||||
- password_hash
|
||||
- role_id
|
||||
- status
|
||||
- created_at
|
||||
|
||||
## 20. roles
|
||||
- id
|
||||
- name
|
||||
- permissions_json
|
||||
- created_at
|
||||
|
||||
## 21. Index penting
|
||||
- transactions(partner_reference)
|
||||
- transactions(merchant_id, created_at)
|
||||
- notifications(device_id, delivery_status)
|
||||
- device_heartbeats(device_id, received_at)
|
||||
- device_bindings(device_id, active_flag)
|
||||
- settlements(merchant_id, payout_status)
|
||||
- ledger_entries(merchant_id, created_at)
|
||||
Reference in New Issue
Block a user