#P1670
GET /v2/charter/reservation/{type}
Charter: List Reservations & Reports
این اندپوینت لیست رزروها را بر اساس type (نوع گزارش) فیلتر میکند. این متد قلب تپنده گزارشگیری سیستم چارتر است و حالتهای مختلفی از جمله رزروهای قطعی، موقت (لاگین شده)، استردادی و نمای گرافیکی "Plan" (مخصوص هتل) را پوشش میدهد.
Request Overview
URL:
/v2/charter/reservation/{type}Method: GET
Controller: CharterController@listCharterReservation
Middleware Stack: authWithJwt
Access Control
- دسترسی معتبر JWT
Request Parameters
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| type | string (enum) | نوع لیست درخواستی. مقادیر مجاز:
|
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| id | integer | شناسه چارتر اصلی (Main Charter ID) |
| search[from] | date (Y-m-d) | تاریخ شروع بازه گزارش |
| search[to] | date (Y-m-d) | تاریخ پایان بازه گزارش |
| search[report_type] | string | فقط برای type=definite: نحوه فیلتر تاریخ:
|
Logic Details
۱. منطق فیلتر Definite (رزروهای قطعی)
در این حالت، سیستم رزروهایی که refund_id ندارند و حذف نشدهاند را برمیگرداند. منطق تاریخ بر اساس report_type متغیر است:
- check_in:
checkin_date BETWEEN from AND to - check_out:
checkout_date BETWEEN from AND to - guests: رزروهایی که بازه اقامتشان با بازه انتخابی همپوشانی دارد (مهمانان مقیم).
checkin <= to AND checkout > from
۲. منطق Temporary (رزروهای موقت)
این بخش رکوردهایی را از جدول charter_temporary_reservation میخواند که هنوز منقضی نشدهاند.
شرط انقضا: created_at + duration > NOW()
۳. منطق Plan (نمای تقویم اقامتگاه)
این حالت پیچیدهترین بخش است و دادهها را از ۴ منبع تجمیع میکند. اگر نوع چارتر accommodation نباشد، خطای 409 برمیگرداند.
- Reservations: رزروهای قطعی در بازه زمانی.
- Warranties: گارانتیهای تعریف شده.
- Locks: قفلهای موقت (Temporary Reservations) فعال.
- Disable Rooms: اتاقهای غیرفعال شده (خرابی و ...).