Appearance
Hostel Application
hostel.application · every change is kept in the audit log · numbered HAP-{YYYY}-{#####}
Fields
Every record also has id, created_at and updated_at.
| Field | Label | Type | Rules |
|---|---|---|---|
student | student | link → core.student | required |
academic_year | academic year | link → core.academic_year | required |
hostel | hostel | link → hostel.hostel | required |
room_type | room type | link → hostel.room_type | required |
preferred_room | preferred room | link → hostel.room | |
preferred_bed_no | preferred bed no | number | min 1 |
stay_type | stay type | select | one of: Regular, Temporary; default "Regular" |
stay_from | stay from | date | |
stay_to | stay to | date | |
opts_mess | opts mess | check | default false |
mess_plan | mess plan | link → hostel.mess_plan | |
meal_option | meal option | select | one of: Breakfast, Breakfast + Lunch/Dinner, Breakfast + Lunch + Dinner |
rules_accepted | rules accepted | check | default false |
rules_accepted_at | rules accepted at | datetime | |
status | status | select | one of: New, Approved, Accepted, On hold, Rejected, Guest, Cancelled; default "New" |
payment_plan | payment plan | select | one of: Full, Partial, Installment, Split; default "Full" |
application_fee | application fee | money | |
hostel_fee | hostel fee | money | |
mess_fee | mess fee | money | |
paid_amount | paid amount | money | default 0 |
mess_paid_later | mess paid later | check | default false |
payment_status | payment status | select | one of: Pending, Paid; default "Pending" |
payment_source | payment source | select | one of: Online, Office counter, Offline upload |
collected_by | collected by | link → core.user |
Unique together: student + academic_year + hostel + room_type
Permissions
| Role | Can |
|---|---|
hostel:admin | read, create, update, delete, import, export |
hostel:warden | read, create, update — only rows in the user's scope (via hostel) |
hostel:accounts | read |
hostel:student | read, create — only own rows (via student) |
API
http
GET /api/hostel/application?<field>=<value>&limit=100&offset=0
POST /api/hostel/application
GET /api/hostel/application/:id
PATCH /api/hostel/application/:id
DELETE /api/hostel/application/:idBulk import: GET /api/_import/hostel/application/template (CSV template), then POST /api/_import/hostel/application. See REST API.