Change Passenger Info

متد GetPenalty
وب‌سرویس GetPenalty جهت محاسبه‌ی میزان جریمه ناشی از ویرایش اطلاعات مسافر مورد استفاده قرار می‌گیرد. در حال حاضر، امکان اعمال تغییرات زیر از طریق این وب‌سرویس فراهم است:
  • تغییر عنوان مسافر (آقا / خانم): در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه‌ نمی‌باشد.
  • تغییر نام مسافر (حداکثر یک یا دو کاراکتر): امکان‌پذیری این تغییر بسته به تنظیمات تأمین‌کننده خدمات است و مشمول هزینه می‌باشد. هدف اصلی استفاده از این متد، محاسبه هزینه جریمه تغییر نام مسافر است.
  • تغییر اطلاعات گذرنامه شامل شماره گذرنامه، تاریخ انقضا و محل صدور: در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه‌ نمی‌باشد.

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

در نهایت، پس از تأیید و در صورت تمایل، می‌توانید متد DoChange را برای اعمال نهایی تغییرات فراخوانی کنید.

توجه: سرویس «تغییر اطلاعات مسافر» ممکن است برای برخی از تأمین‌کنندگان غیرفعال باشد. در چنین شرایطی، هنگام فراخوانی متد GetPenalty، خطای Error1033-ChangePassengerInfoAccessDenied به عنوان پاسخ بازگردانده خواهد شد. در صورت دریافت این خطا، امکان تغییر اطلاعات مسافر از طریق وب‌سرویس وجود ندارد و لازم است تغییرات موردنظر به‌صورت مستقیم با تأمین‌کننده مربوطه انجام شود.

API Endpoint
https://{SupplierWebsiteUrl}/api/Partners/Flight/ChangePassengerInfo/V1/GetPenalty post
Request Parameters

نمونه کلاس Request به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:

\Flight\ChangePassengerInfo\V1\GetPenalty\RequestModel

Username

string

required
نام کاربری
Password

string

required

رمز عبور به صورت MD5 شده

Pnr

string

required

رفرنس رزروی که می خواهیم اطلاعات مسافران آن را تغییر دهیم.

PassengerList

List(Passenger)

required

لیست مسافرانی که می خواهیم اطلاعات آنها را تغییر دهیم.

Id

string

required

این شناسه به‌صورت یکتا برای هر مسافر تعریف می‌شود و در خروجی متدهای زیر قابل دسترسی است:

PassengerNewData

Complex type

required

اطلاعات جدیدی که می خواهید برای مسافر ثبت شود

GenderType

string

required

جنسیت مسافر که مقدار آن می‌تواند یکی از دو حالت زیر باشد:

  • M : مرد

  • F : زن

FirstName

string

required

نام مسافر

LastName

string

required

نام خانوادگی مسافر

Passport

complex type

optional/conditional

اطلاعات گذرنامه مسافر

در صورتی که مسافر با گذرنامه سفر می‌کند، لازم است اطلاعات گذرنامه وی در این فیلد ارسال شود

Number

string

required

شماره گذرنامه مسافر

ExpiryDate

string

required

تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.

PlaceOfIssueCountryCode

string

required

کد ISO دو حرفی یا سه حرفی محل صدور گذرنامه مسافر

جهت مشاهده کد ISO کشور ها اینجا کلیک نمایید.

به عنوان مثال برای ایران می توانید یکی از مقدارهای IR یا IRN را وارد نمایید.

Culture

string

required

مشخص می‌کند پیام‌های خطا بر اساس کدام زبان خروجی داده شوند. مقدار این فیلد می‌تواند یکی از گزینه‌های en-US، ar-IQ یا fa-IR باشد.

نمونه درخواست تغییر عنوان و 2 کاراکتر یک مسافر در یک رزرو دو نفره
{
    "Username": "TestDev1",
    "Password": "25f9e794323b453885f5181f1b624d0b",
    "Pnr": "AG3B2V",
    "PassengerList": [{
            "Id": "ae3c2436-4be8-48b3-a3f1-1b2c2c03c32d",
            "PassengerNewData": {
                "GenderType": "M",
                "FirstName": "SEYEDEHKIANA",
                "LastName": "MOSTAMAND",
                "Passport": null
            }
        }, {
            "Id": "f0ecdce9-3734-4074-80ac-e3f0c173afd7",
            "PassengerNewData": {
                "GenderType": "F",
                "FirstName": "MOHADESEH",
                "LastName": "ASHRAFVAGHEFI",
                "Passport": null
            }
        }
    ],
    "Culture": "fa-IR"
}
	
نمونه درخواست تغییر اطلاعات گذرنامه
{
    "Username": "TestDev1",
    "Password": "25f9e794323b453885f5181f1b624d0b",
    "Pnr": "I54848",
    "PassengerList": [{
            "Id": "355e2df8-fae0-4cad-86f4-5d511b9008bc",
            "PassengerNewData": {
                "GenderType": "M",
                "FirstName": "ABED",
                "LastName": "HOSSEYNI",
                "Passport": {
                    "Number": "A56753465",
                    "ExpiryDate": "2029-11-20",
                    "PlaceOfIssueCountryCode": "IR"
                }
            }
        }
    ],
    "Culture": "fa-IR"
}
	
Response Data

نمونه کلاس Response به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:

\Flight\ChangePassengerInfo\V1\GetPenalty\ResponseModel

PassengerList

List(Passenger)

لیستی از مسافران به همراه جزییات جریمه هر کدام.

Id

string

شناسه منحصر به فرد مسافر

OldData
complex type
اطلاعات فعلی (ثبت‌شده) مسافر
GenderType

string

جنسیت مسافر

FirstName

string

نام مسافر

LastName

string

نام خانوادگی مسافر

Passport

string

اطلاعات گذرنامه مسافر
Number

string

شماره گذرنامه مسافر

ExpiryDate

string

تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.

PlaceOfIssueCountryCode

string

کد ISO دو حرفی محل صدور گذرنامه مسافر

NewData

complex type

اطلاعات جدید که شما در request به این متد ارسال کرده اید
ساختار NewData کاملا مشابه OldData می باشد.

Status

boolean

این فیلد نشان می‌دهد که آیا تغییرات مجاز هستند یا خیر. به عنوان مثال، اگر تعداد کاراکترهای تغییر یافته در نام مسافر (مثلاً ۳ کاراکتر) بیشتر از تعداد کاراکترهای مجاز برای تغییر (مثلاً ۲ کاراکتر) باشد، مقدار این فیلد false خواهد بود.

ErrorMessage

string

اگر مقدار فیلد Status برابر با false باشد، این فیلد حاوی توضیحاتی است که دلیل عدم امکان اعمال تغییرات را مشخص می‌کند.

Penalty

decimal

این مبلغ نشان‌دهنده هزینه‌ای است که بابت تغییرات انجام‌شده از حساب کاربری شما کسر می‌شود.
نمونه پاسخ تغییر عنوان و 2 کاراکتر یک مسافر در یک رزرو دو نفره
{
    "PassengerList": [{
            "Id": "ae3c2436-4be8-48b3-a3f1-1b2c2c03c32d",
            "OldData": {
                "GenderType": "M",
                "FirstName": "SEYEDEHKIANA",
                "LastName": "MOSTAMAND",
                "Passport": null
            },
            "NewData": {
                "GenderType": "M",
                "FirstName": "SEYEDEHKIANA",
                "LastName": "MOSTAMAND",
                "Passport": null
            },
            "Status": true,
            "ErrorMessage": "",
            "Penalty": 0.0
        }, {
            "Id": "f0ecdce9-3734-4074-80ac-e3f0c173afd7",
            "OldData": {
                "GenderType": "M",
                "FirstName": "MOHADES",
                "LastName": "ASHRAFVAGHEFI",
                "Passport": null
            },
            "NewData": {
                "GenderType": "F",
                "FirstName": "MOHADESEH",
                "LastName": "ASHRAFVAGHEFI",
                "Passport": null
            },
            "Status": true,
            "ErrorMessage": "",
            "Penalty": 2000000.0
        }
    ]
}
	
نمونه پاسخ تغییر اطلاعات گذرنامه
{
    "PassengerList": [{
            "Id": "355e2df8-fae0-4cad-86f4-5d511b9008bc",
            "OldData": {
                "GenderType": "M",
                "FirstName": "ABED",
                "LastName": "HOSSEYNI",
                "Passport": {
                    "Number": "A15793202",
                    "ExpiryDate": "2028-01-28",
                    "PlaceOfIssueCountryCode": "IR"
                }
            },
            "NewData": {
                "GenderType": "M",
                "FirstName": "ABED",
                "LastName": "HOSSEYNI",
                "Passport": {
                    "Number": "A56753465",
                    "ExpiryDate": "2029-11-20",
                    "PlaceOfIssueCountryCode": "IR"
                }
            },
            "Status": true,
            "ErrorMessage": "",
            "Penalty": 0.0
        }
    ]
}
	
Response common exceptions

در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.

ExceptionTypeتوضیح خطا

Error1032-ReservationChangePassengerInfoIsDoneOnceBefore

این رزرو قبلا اصلاح شده است و امکان ویرایش مجدد آن وجود ندارد.

Error1033-ChangePassengerInfoAccessDenied

سرویس ویرایش اطلاعات مسافران روی سیستم تامین کننده فعال نیست.

Exception

خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود.