#P1465
* POST /api/v2/online/accommodation/check_status
Accommodation Check Status (V2)
Endpoint:
POST /v2/online/accommodation/check_statusController:
OnlineController@checkAccommodationStatusDelegates to:
BaseService::checkAccommodationStatus(type, accommodation, agentDetails)Auth:
authWithJwtDescription
این اندپوینت جهت بررسی وضعیت رزرو اقامتگاه در نسخه دوم سیستم آنلاین طراحی شده است. مسیر پردازش بسته به نوع سرویس (type) متفاوت بوده و نتایج نهایی – شامل وضعیت، تغییر قیمت، کد لاک موقت یا پیام خطا – در جدول temporary_reservations ثبت میگردند.
Request Example
POST /v2/online/accommodation/check_status
{
"type": "airplus",
"accommodation": {
"id": 1549,
"checkin": "2025-01-15",
"checkout": "2025-01-20",
"rooms": 2,
"adults": 4
}
}
Response Example
{
"status": "success",
"changed": false,
"lock_id": "TMP-7634",
"payable": 5840000,
"errors": []
}
Technical Logic
Client → send request
/v2/online/accommodation/check_status↓
Parse Request → extract
type و accommodation↓
Branch by
type (Tport / Airplus / Sepehr / Snapptrip)↙ ↓ ↘
Tport → call
calculate_price() → save_normal_reserve() → return lock_idAirplus → validate passengers → check charter capacity handle codes
1005–1026Sepehr → use saved temporary lock if exists
Snapptrip → call
create_book() → return reservation_code↓
Save result snapshot →
temporary_reservations↓
Return response:
{status, changed, lock_id, payable, errors[]}Error Conditions
1005– ظرفیت پر شده است1010– اتاق در تاریخ انتخابی یافت نشد1026– اطلاعات ناقص مسافران- در سایر موارد پاسخ شامل
errors[]با جزئیات دقیق میشود.
Notes
در صورت فعال بودن ماژول temporary_reservations، هر درخواست تکراری (با دادهی یکسان) پیش از تریگر مجدد منطق بررسی از کش Redis مورد بررسی قرار میگیرد.