Di động: chấm công và nghỉ phép
Trạng thái vào ra, GPS, công tháng, tạo và duyệt đơn nghỉ
| Route | Thao tác |
|---|---|
GET /attendance/status | Đọc trạng thái, quyền chấm, ca trong ngày và yêu cầu GPS/ảnh. |
POST /attendance/check | Body {"action":"in","latitude":10.1,"longitude":106.7} hoặc action="out". |
GET /attendance/month?year=2026&month=9 | Bảng công của chính nhân viên đang đăng nhập. |
GET /leave/types | Loại nghỉ được dùng và số dư. |
GET /leave/requests?limit=30&offset=0 | Danh sách đơn của chính mình. |
POST /leave/requests | Tạo đơn với typeId, dateFrom, dateTo, duration. |
GET /leave/approvals | Danh sách chờ người quản lý duyệt. |
attendance/check nhận trạng thái mong muốn: gửi lặp cùng action không đảo trạng thái vừa chấm. Khi công ty bật định vị, thiếu vĩ độ hoặc kinh độ trả location_required. Ảnh chấm công có thể bắt buộc theo cấu hình công ty.
POST /api/mobile/leave/requests
{"typeId":7,"dateFrom":"2026-10-05","dateTo":"2026-10-05",
"duration":"am","notes":"Việc gia đình"}
duration có full, am, pm; với loại nghỉ theo giờ có thể dùng specific và hourFrom/hourTo. Huỷ dùng POST /leave/requests/<id>/cancel; duyệt hoặc từ chối dùng POST /leave/approvals/<id>/approve hay /refuse.