✅ Table 'packages' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| code | varchar(20) | YES | UNI |
| title | varchar(255) | NO | |
| currency | varchar(10) | NO | |
| total_expected | decimal(12,2) | YES | |
| total_amount | decimal(10,2) | YES | |
| created_at | timestamp | YES |
Sample Data:
| id | code | title | currency | total_expected | total_amount | created_at |
|---|---|---|---|---|---|---|
| 1 | STD001 | Student Visa Package | USD | 2500.00 | 2800.00 | 2026-01-21 21:21:54 |
| 2 | MAL001 | Malta Study Package | EUR | 3500.00 | 3800.00 | 2026-01-21 21:21:54 |
| 3 | TRK001 | Turkey Work Package | USD | 2000.00 | 2200.00 | 2026-01-21 21:21:54 |
✅ Table 'payment_packages' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| package_id | int(11) | NO | |
| name | varchar(255) | NO | |
| amount | decimal(12,2) | NO | |
| currency | varchar(10) | NO | |
| refundable | tinyint(1) | YES | |
| trigger_stage | varchar(100) | YES | |
| is_refundable | tinyint(1) | YES | |
| payable_stage | varchar(100) | YES | |
| created_at | timestamp | YES |
⚠️ No data in table
✅ Table 'student_assignments' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| application_id | int(11) | NO | |
| source_table | varchar(50) | NO | |
| package_id | int(11) | NO | |
| assigned_at | timestamp | YES |
⚠️ No data in table
✅ Table 'fee_items' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| package_id | int(11) | NO | MUL |
| name | varchar(255) | NO | |
| amount | decimal(12,2) | NO | |
| currency | varchar(10) | NO | |
| refundable | tinyint(1) | YES | |
| trigger_stage | varchar(100) | YES | |
| is_refundable | tinyint(1) | YES | |
| payable_stage | varchar(100) | YES | |
| created_at | timestamp | YES |
Sample Data:
| id | package_id | name | amount | currency | refundable | trigger_stage | is_refundable | payable_stage | created_at |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Registration & Application Fee | 150.00 | USD | 0 | 1 | Application | 2025-12-23 16:21:08 | |
| 2 | 1 | After Loan Approval | 1200.00 | USD | 0 | 0 | Loan Approval | 2025-12-23 16:21:08 | |
| 3 | 1 | Mock Interview Preparation Fees | 150.00 | USD | 0 | 0 | Interview | 2025-12-23 16:21:08 |
✅ Table 'application_payments' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| application_id | int(11) | NO | MUL |
| receipt_no | varchar(50) | YES | MUL |
| source_table | varchar(50) | NO | |
| fee_item_id | int(11) | NO | MUL |
| amount_paid | decimal(12,2) | NO | |
| currency | varchar(10) | YES | |
| payment_method | varchar(50) | YES | |
| payment_comment | varchar(255) | YES | |
| reference | varchar(100) | YES | |
| status | enum('PAID','REFUNDED') | YES | |
| paid_at | timestamp | YES |
Sample Data:
| id | application_id | receipt_no | source_table | fee_item_id | amount_paid | currency | payment_method | payment_comment | reference | status | paid_at |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 | 824 | student_applications | 1 | 150.00 | Bank | PAID | 2025-12-26 18:03:30 | ||||
| 8 | 824 | student_applications | 4 | 1200.00 | Bank | PAID | 2025-12-26 18:03:30 | ||||
| 9 | 824 | student_applications | 2 | 1200.00 | Bank | PAID | 2025-12-26 18:47:42 |
✅ Table 'application_packages' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | int(11) | NO | PRI |
| application_id | int(11) | NO | |
| source_table | varchar(50) | NO | |
| package_id | int(11) | NO | MUL |
| assigned_at | timestamp | YES |
Sample Data:
| id | application_id | source_table | package_id | assigned_at |
|---|---|---|---|---|
| 2 | 824 | student_applications | 1 | 2025-12-26 18:03:30 |
| 3 | 774 | student_applications | 1 | 2025-12-26 19:49:38 |
| 4 | 858 | student_applications | 7 | 2025-12-29 17:47:02 |
✅ Table 'payment_receipts' exists
| Field | Type | Null | Key |
|---|---|---|---|
| id | bigint(20) | NO | PRI |
| receipt_no | varchar(40) | NO | UNI |
| application_id | int(11) | NO | |
| source_table | varchar(50) | NO | |
| package_id | int(11) | NO | |
| total_amount | decimal(10,2) | NO | |
| payment_method | varchar(50) | YES | |
| receipt_html | mediumtext | NO | |
| created_at | datetime | YES | |
| status | enum('ACTIVE','CANCELED') | YES |
Sample Data:
| id | receipt_no | application_id | source_table | package_id | total_amount | payment_method | receipt_html | created_at | status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | RCT-20251226-174736-716 | 529 | student_applications | 6 | 2067.00 | Cash | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Receipt</title> <style> @page { size: 80mm auto; margin: 0; } body { width: 80mm; margin: 0; padding: 5mm; font-family: monospace; font-size: 12px; } .center { text-align: center; } .line { border-top: 1px dashed #000; margin: 6px 0; } table { width: 100%; border-collapse: collapse; } td { padding: 2px 0; } .right { text-align: right; } </style> </head> <body onload="window.print()"> <div class="center"> <strong>SCHOOL NAME</strong><br> OFFICIAL PAYMENT RECEIPT </div> <div class="line"></div> Receipt: RCT-20251226-174736-716<br> Student ID: 529<br> Date: 2025-12-26 17:47<br> <div class="line"></div> <table> <tr> <td>Item 17</td> <td class="right">450.00</td> </tr> <tr> <td>Item 18</td> <td class="right">150.00</td> </tr> <tr> <td>Item 19</td> <td class="right">85.00</td> </tr> <tr> <td>Item 20</td> <td class="right">132.00</td> </tr> <tr> <td>Item 21</td> <td class="right">250.00</td> </tr> <tr> <td>Item 22</td> <td class="right">1,000.00</td> </tr> </table> <div class="line"></div> <table> <tr> <td><strong>TOTAL</strong></td> <td class="right"><strong>2,067.00</strong></td> </tr> </table> <div class="line"></div> Payment: Cash<br> <div class="center"> Thank you<br> Keep this receipt </div> </body> </html> | 2025-12-26 17:47:36 | CANCELED |
| 2 | RCT-20251226-180330-225 | 824 | student_applications | 1 | 2700.00 | Bank | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Receipt</title> <style> @page { size: 80mm auto; margin: 0; } body { width: 80mm; margin: 0; padding: 5mm; font-family: monospace; font-size: 12px; } .center { text-align: center; } .line { border-top: 1px dashed #000; margin: 6px 0; } table { width: 100%; border-collapse: collapse; } td { padding: 2px 0; } .right { text-align: right; } </style> </head> <body onload="window.print()"> <div class="center"> <strong>SCHOOL NAME</strong><br> OFFICIAL PAYMENT RECEIPT </div> <div class="line"></div> Receipt: RCT-20251226-180330-225<br> Student ID: 824<br> Date: 2025-12-26 18:03<br> <div class="line"></div> <table> <tr> <td>Item 1</td> <td class="right">150.00</td> </tr> <tr> <td>Item 4</td> <td class="right">1,200.00</td> </tr> </table> <div class="line"></div> <table> <tr> <td><strong>TOTAL</strong></td> <td class="right"><strong>1,350.00</strong></td> </tr> </table> <div class="line"></div> Payment: Cash<br> <div class="center"> Thank you<br> Keep this receipt </div> </body> </html> | 2025-12-26 18:03:30 | ACTIVE |
| 3 | RCT-20251226-194938-434 | 774 | student_applications | 1 | 150.00 | Cash | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Receipt</title> <style> @page { size: 80mm auto; margin: 0; } body { width: 80mm; margin: 0; padding: 5mm; font-family: monospace; font-size: 12px; } .center { text-align: center; } .line { border-top: 1px dashed #000; margin: 6px 0; } table { width: 100%; border-collapse: collapse; } td { padding: 2px 0; } .right { text-align: right; } </style> </head> <body onload="window.print()"> <div class="center"> <strong>SCHOOL NAME</strong><br> OFFICIAL PAYMENT RECEIPT </div> <div class="line"></div> Receipt: RCT-20251226-194938-434<br> Student ID: 774<br> Date: 2025-12-26 19:49<br> <div class="line"></div> <table> <tr> <td>Item 1</td> <td class="right">150.00</td> </tr> </table> <div class="line"></div> <table> <tr> <td><strong>TOTAL</strong></td> <td class="right"><strong>150.00</strong></td> </tr> </table> <div class="line"></div> Payment: Cash<br> <div class="center"> Thank you<br> Keep this receipt </div> </body> </html> | 2025-12-26 19:49:38 | ACTIVE |