Skip to main content
#P1103

Function setRoomingPlanCharter

·  هدف:

این متد به عنوان نقطه پایانی برای تخصیص یک مسافر به یک اتاق خاص در یک پلن اتاق‌بندی عمل می‌کند. هدف اصلی آن، ثبت یا به‌روزرسانی رکورد مربوط به “رومینگ” (تخصیص اتاق) در جدول charter_plans_rooming است. متد ابتدا بررسی می‌کند که آیا مسافر از قبل به اتاق دیگری در همین پلن تخصیص داده شده است یا خیر. اگر چنین باشد، آن تخصیص قبلی را حذف می‌کند تا از تخصیص دوگانه یک مسافر جلوگیری شود. سپس، رکورد جدیدی برای تخصیص مسافر (reserve_id) به اتاق (room_id) در پلن (plan_id) درج می‌کند. این فرآیند اطمینان می‌دهد که هر مسافر در هر لحظه فقط به یک اتاق در یک پلن مشخص متصل است.

ویژگی‌ها توضیحات
هدف کلی تخصیص یک مسافر (رزرو) به یک اتاق در یک پلن اتاق‌بندی.
جلوگیری از تخصیص دوگانه حذف تخصیص قبلی مسافر در همان پلن قبل از ایجاد تخصیص جدید.
عملیات اصلی درج یک رکورد در جدول charter_plans_rooming.
یکپارچگی داده تضمین اینکه هر مسافر فقط یک جایگاه در پلن دارد.
پاسخ موفقیت بازگرداندن پاسخ 201 Created در صورت موفقیت.

·     ورودی‌ها (پارامتر‌ها):

 

توضیحات موقعیت نوع داده نام پارمتر
شناسه چارتر. Route integer $request->id
شناسه پلن اتاق‌بندی. Body integer $request->plan_id
شناسه اتاق در پلن. Body integer $request->room_id
شناسه رزرو مسافری که باید به اتاق تخصیص داده شود. Body integer $request->reserve_id

·     خروجی (Return):

 

توضیحات نوع داده
در صورت موفقیت، یک پاسخ خالی با کد 201 Created. Illuminate\Http\JsonResponse
در صورت بروز خطا، یک پاسخ با کد 400 Bad Request. Illuminate\Http\JsonResponse

·  مثال استفاده / سناریو:

سناریو: انتقال مسافر با رزرو شناسه ۵۴۳۲ به اتاق با شناسه ۱۰۱ در پلن ۵

  • Request Body:
json
    {
        "plan_id": 5,
        "room_id": 101,
        "reserve_id": 5432
    }
  • Action:
  1. DELETE FROM charter_plans_rooming WHERE plan_id = 5 AND reserve_id = 5432 اجرا می‌شود تا هرگونه تخصیص قبلی پاک شود.
  2. INSERT INTO charter_plans_rooming (plan_id, room_id, reserve_id) VALUES (5, 101, 5432) اجرا می‌شود.
  • Response:
  • HTTP Status: 201 Created