changed-schedule-passengers

Download Markdown for LLM

متد GetList

این متد لیست رزروهایی که تغییری در برنامه پروازی مسافران آنها داده شده است را بر می گرداند.

زمان‌بندی فراخوانی توصیه می‌شود این متد را به صورت دوره‌ای (برای مثال هر ۱۵ دقیقه) فراخوانی کنید تا همواره از آخرین تغییرات برنامه پروازی مطلع شده و مسافران را در جریان بگذارید.

نکته مهم در خصوص ثبت تغییرات توسط تأمین‌کننده

اطلاعات این وب‌سرویس صرفاً بر اساس تغییراتی ارائه می‌شود که توسط تأمین‌کننده پرواز در سیستم ثبت و به ماژول تغییر برنامه پروازی سپهر اعلام شده باشد.

ممکن است تأمین‌کننده ساعت پرواز را تغییر دهد، پروازی را لغو کند یا تغییر دیگری در برنامه پروازی ایجاد نماید، اما این تغییر را در سیستم خود ثبت نکرده یا آن را به ماژول تغییر برنامه پروازی سپهر اعلام نکرده باشد. در چنین شرایطی، طبیعتاً اطلاعات مربوط به آن تغییر در این وب‌سرویس نیز ارائه نخواهد شد.

مسئولیت ثبت و اعلام صحیح و به‌موقع تغییرات برنامه پروازی بر عهده تأمین‌کننده پرواز است و سپهر صرفاً تغییراتی را که از سوی تأمین‌کننده دریافت و در سیستم ثبت شده‌اند، در این وب‌سرویس ارائه می‌کند.

بنابراین، در صورتی که کلاینت متوجه شود تغییر ایجادشده در برنامه پروازی توسط تأمین‌کننده در سیستم ثبت نشده است، لازم است موضوع را مستقیماً به تأمین‌کننده اعلام کرده و از وی درخواست کند تغییر مربوطه را در سیستم ثبت و اعلام نماید. تا زمانی که این تغییر توسط تأمین‌کننده ثبت و به سپهر اعلام نشده باشد، امکان ارائه آن در خروجی این وب‌سرویس وجود نخواهد داشت.

در نتیجه، عدم مشاهده یک تغییر در خروجی این وب‌سرویس لزوماً به معنی عدم وقوع آن تغییر در سیستم تأمین‌کننده نیست.

نحوه مدیریت محدودیت تعداد خروجی (صفحه‌بندی) سقف تعداد رکوردهای برگشتی در هر بار فراخوانی این وب‌سرویس ۵۰۰ رکورد است. اگر حجم تغییرات بیش از این تعداد باشد، باید با ذخیره کردن بزرگ‌ترین تاریخ ChangeScheduleDateTimeUtc و قرار دادن آن در فیلد FromDateTimeUtc درخواست بعدی، مجدداً متد را فراخوانی کنید تا رکوردهای بعدی برای شما ارسال شود.

نمایش پیام به مسافر سیستم به طور خودکار مناسب‌ترین متن اطلاع‌رسانی را در فیلد Message تولید و ارسال می‌کند. هرچند امکان تولید پیام شخصی‌سازی‌شده بر اساس فیلدهای تفکیک‌شده وجود دارد، اما با توجه به لاجیک بسیار پیچیده و زمان‌بر بودن پیاده‌سازی آن، پیشنهاد می‌کنیم پیام‌ها را مستقیماً از روی فیلد Message برای مسافران ارسال کنید.

نکته بسیار مهم در خصوص رزروهای چند مسافره در یک رزرو گروهی، ممکن است وضعیت تغییرات پرواز برای مسافران یکسان نباشد (مثلاً به دلیل محدودیت جا، پرواز پیشنهادی جدید فقط به تعدادی از مسافران تخصیص داده شود). بنابراین، متن پیام در فیلد Message برای هر مسافر به صورت مجزا تولید می‌شود.

رویکرد اشتباه: استفاده از پیام مسافر اول برای کل اعضای رزرو.

رویکرد درست: در پردازش داده‌ها، مسافرانِ هر رزرو را بر اساس محتوای فیلد Message دسته‌بندی (Group) کنید. سپس برای مسافرانی که متن پیام کاملاً مشابهی دارند، یک پیامک مشترک ارسال کنید تا هم در هزینه‌های ارسال پیامک صرفه‌جویی شود و هم اطلاعات نادرست به سایر مسافران ارسال نگردد.

نکته مهم در مورد استرداد اگر وضعیت پرواز مسافر Cancelled شد، این به معنی کنسل شدن خودِ رزرو نیست. برای اینکه رزرو واقعا کنسل شود و مبلغ به اعتبار شما برگردد، باید حتما متد DoRefund را فراخوانی کنید. تا قبل از اجرای DoRefund، هیچ مبلغی به اعتبار شما باز نمی‌گردد و نباید وجهی به مسافر استرداد شود؛ چون ممکن است وضعیت پرواز بعدا از Cancelled به Reinstated تغییر کند و رزرو دوباره معتبر شود.

همچنین اگر DoRefund را اجرا کرده باشید، حتی در صورت برقراری مجدد پرواز، رزرو دیگر به حالت Reinstated برنمی‌گردد.

نکته مهم دیگر این است که ممکن است مسافری که در رکورد فعلی با وضعیت Cancelled نمایش داده می‌شود، در رکوردهای بعدی Reinstated شده باشد. بنابراین قبل از فراخوانی DoRefund، حتما متد GetPenalty را بررسی کنید تا مطمئن شوید وضعیت مسافر همچنان Cancelled و استرداد بدون جریمه همچنان مجاز است.


API Endpoint

POST https://{SupplierWebsiteUrl}/api/Partners/ChangedSchedulePassengers/V2/GetList

Request Parameters


Sample Request

curl -X POST https://SepehrApiTest.ir/api/Partners/ChangedSchedulePassengers/V2/GetList \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip, deflate" \
  -d '{
  "Username": "testdev1",
  "Password": "25f9e794323b453885f5181f1b624d0b",
  "FromDateTimeUtc": "2024-02-01 00:00:00"
}'

Response Parameters


Sample Response

{
  "BookingList": [
    {
      "RecordId": 394,
      "Pnr": "S5C5K5",
      "BookingDateTimeUtc": "2026-07-18 09:06:31",
      "ChangeScheduleDateTimeUtc": "2026-07-21 07:26:16",
      "YourLocalInventoryPnr": null,
      "IsReserveIssued": true,
      "PassengerList": [
        {
          "AgeType": "ADL",
          "FirstName": "ESMAT",
          "LastName": "TAVAKOLIGARMASEH",
          "Gender": "F",
          "TicketNumber": "1549782",
          "CabinType": "Economy",
          "Status": "Cancelled",
          "Cancelled": {
            "CancellationReason": "ReducedFlightCapacityDueToOverbooking",
            "PassengerResponseDeadlineUtc": null
          },
          "FlightTimeChanged": null,
          "Reinstated": null,
          "AlternativeFlightList": [],
          "Message": "مسافر گرامی با سلام و عرض پوزش رزرو شما در پرواز 312 مورخ 30 تير 1405 مسیر آبادان به اهواز به علت کاهش ظرفیت به دلیل Over شدن باطل اعلام می گردد.\r\n\r\nجهت بازگشت وجه لطفا فرم استرداد را تکمیل نمایید."
        },
        {
          "AgeType": "ADL",
          "FirstName": "SAEID",
          "LastName": "ALISHAHIVARNOSFADERANI",
          "Gender": "M",
          "TicketNumber": "1549783",
          "CabinType": "Economy",
          "Status": "Cancelled",
          "Cancelled": {
            "CancellationReason": "ReducedFlightCapacityDueToOverbooking",
            "PassengerResponseDeadlineUtc": null
          },
          "FlightTimeChanged": null,
          "Reinstated": null,
          "AlternativeFlightList": [],
          "Message": "مسافر گرامی با سلام و عرض پوزش رزرو شما در پرواز 312 مورخ 30 تير 1405 مسیر آبادان به اهواز به علت کاهش ظرفیت به دلیل Over شدن باطل اعلام می گردد.\r\n\r\nجهت بازگشت وجه لطفا فرم استرداد را تکمیل نمایید."
        }
        // ... بیشتر مسافران
      ]
    }
    // ... بیشتر Bookingها
  ]
}