retrieve-booking
متد GetStatus
کاربرد این متد برای زمانی است که شما متد Book را فراخوانی نموده اید، ولی به هر دلیلی – مانند مشکلات شبکه و قطعی اینترنتی یا ریست شدن سرور – جوابی از سپهر دریافت نکرده اید، با استفاده از این متد می توانید وضعیت درخواست رزرو و اینکه آیا رزرو صادر شده است یا خیر را بررسی نمایید.
پیشنهاد می گردد اگر بعد از فراخوانی متد Book هیچ جوابی دریافت نکردید، حداقل 15 ثانیه صبر نموده و سپس از متد GetStatus استفاده نمایید. در صورتی که فاصله بین فراخوانی متد Book و متد GetStatus کمتر از 15 ثانیه باشد، احتمال اینکه متد GetStatus جواب اشتباهی را خروجی دهد زیاد است. و ممکن است رزرو شما در حال صادر شدن باشد ولی متد GetStatus در جواب پاسخ دهد که هیچ رزروی صادر نشده است. به بیان فنی تر می توان اینطور گفت که وقتی متد Book را فراخوانی می نمایید یک Timeout به میزان 15 ثانیه برای آن تنظیم نمایید و در صورتی که خطای timeout دریافت کردید آنگاه متد GetStatus را فراخوانی نمایید تا از نتیجه صادر شدن یا نشدن رزرو خود مطلع شوید.
این متد در صورت اعمال هرگونه تغییر در اطلاعات مسافران یا هتل, آخرین وضعیت رزرو (Last State) را خروجی میدهد.
API Endpoint
POST https://{SupplierWebsiteUrl}/api/Partners/Hotel/RetrieveBooking/V1/GetStatus
Request Parameters
CredentialComplex type
required
اطلاعات مربوط به نام کاربری و رمز عبور
Credential.Usernamestring
required
نام کاربری
Credential.Passwordstring
required
رمز عبور به صورت MD5 شده
YourLocalInventoryPnrstring
required
رفرنس سیستم شما که در زمان رزرو به متد Book ارسال نموده اید.
Sample Request
curl -X POST https://SepehrApiTest.ir/api/Partners/Hotel/RetrieveBooking/V1/GetStatus \
-H "Content-Type: application/json; charset=utf-8" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip, deflate" \
-d '{
"Credential": {
"Username": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b"
},
"YourLocalInventoryPnr": "24d3af03-bc90-4d77-bc4d-0a6c9230c36c"
}'
Response Parameters
StatusIdnumber
وضعیت رزرو که شامل یکی از موارد زیر می گردد:
- عدد 1 بدین معناست که رزرو صادر شده است و اطلاعات آن در فیلد PassengerList قابل مشاهده می باشد.
- عدد 2 بدین معناست که رزروی با رفرنس شما (YourLocalInventoryPnr) پیدا و صادر نشده است.
- عدد 3 بدین معناست که درخواست رزرو شما توسط سپهر دریافت شده است و رزرو در حال پردازش می باشد. ولی وضعیت آن هنوز تایید نهایی نشده است.
- عدد 4 بدین معناست که رزرو شما به خطا خورده و صادر نشده است. علت خطا در فیلد FailReason خروجی داده می شود.
StatusDescstring
مقدار این فیلد توضیحی برای فیلد StatusId می باشد. و بنابراین شامل یکی از موارد زیر می گردد:
- مقدار OK بدین معناست که رزرو صادر شده است و اطلاعات آن در فیلد PassengerList قابل مشاهده می باشد.
- مقدار NotFound بدین معناست که رزروی با رفرنس شما (YourLocalInventoryPnr) پیدا و صادر نشده است.
- مقدار IssueInProgress بدین معناست که درخواست رزرو شما توسط سپهر دریافت شده است و رزرو در حال پردازش می باشد. ولی وضعیت آن هنوز تایید نهایی نشده است.
- مقدار Failed بدین معناست که رزرو شما به خطا خورده و صادر نشده است. علت خطا در فیلد FailReason خروجی داده می شود.
Pnrstring
در صورتی که رزرو شما با موفقیت صادر شده باشد، رفرنس سیستم سپهر در این فیلد خروجی داده می شود
FailReasonstring
در صورتی که رزرو شما به خطا خورده باشد، علت خطا در این فیلد خروجی داده می شود.
CharterRoomListList(Room)
در صورتی که رزرو شما با موفقیت صادر شده باشد، لیست اتاق ها در این فیلد خروجی داده می شود.
CharterRoomList.HotelSepehrGlobalIdnumber
Id منحصر به فرد هتل در سیستم سپهر
CharterRoomList.HotelNamestring
نام هتل
CharterRoomList.RoomTypeSepehrGlobalIdnumber
Id منحصر به فرد نوع اتاق در سیستم سپهر
CharterRoomList.RoomTypeNamenumber
نام نوع اتاق
CharterRoomList.CheckinDatestring
تاریخ ورود با فرمت yyyy-MM-dd و به صورت میلادی
CharterRoomList.CheckoutDatestring
تاریخ خروج با فرمت yyyy-MM-dd و به صورت میلادی
CharterRoomList.PassengerListList(Passenger)
لیست مسافران اسکان داده شده روی این اتاق
CharterRoomList.PassengerList.FirstNamestring
نام مسافر
CharterRoomList.PassengerList.LastNamestring
نام خانوادگی مسافر
CharterRoomList.PassengerList.AgeTypestring
گروه سنی مسافر که شامل یکی از مقادیر ADL یا CHD یا INF می باشد
CharterRoomList.PassengerList.Genderstring
جنسیت مسافر که شامل یکی از مقادیر M به معنی مذکر یا F به معنی مونث می باشد.
CharterRoomList.PassengerList.Birthdatestring
تاریخ تولد مسافر به صورت میلادی و با فرمت yyyy-MM-dd
CharterRoomList.PassengerList.NationalityCountrystring
کد دوحرفی کشور مربوط به ملیت مسافر
CharterRoomList.PassengerList.IranianCartMellicomplex type
کد ملی مسافر برای مسافران ایرانی
CharterRoomList.PassengerList.IranianCartMelli.CodeMellistring
کد ملی
CharterRoomList.PassengerList.Passportcomplex type
اطلاعات مربوط به گذرنامه مسافر
CharterRoomList.PassengerList.Passport.Numberstring
شماره گذرنامه
CharterRoomList.PassengerList.Passport.ExpiryDatestring
تاریخ انقضا گذرنامه به صورت میلادی و با فرمت yyyy-MM-dd
CharterRoomList.PassengerList.Passport.PlaceOfIssueCountrystring
کد دو حرفی محل صدور گذرنامه
CharterRoomList.PriceListList(Price)
جزییات نرخ به ازای هر شب برای این اتاق
CharterRoomList.PriceList.Datestring
تاریخ اقامت با فرمت yyyy-MM-dd و به صورت میلادی
CharterRoomList.PriceList.Room_PriceBreakdowncomplex type
جزییات نرخ اتاق
CharterRoomList.PriceList.Room_PriceBreakdown.BoardPricedecimal
نرخ برد اتاق (قبل از اعمال شدن کمیسیون و مالیات)
CharterRoomList.PriceList.Room_PriceBreakdown.CommissionPercentdecimal
درصد کمیسیون
CharterRoomList.PriceList.Room_PriceBreakdown.CalculatedAmountOfCommissionPercentdecimal
معادل مبلغی درصد کمیسیون
CharterRoomList.PriceList.Room_PriceBreakdown.Discountdecimal
مبلغ تخفیف
CharterRoomList.PriceList.Room_PriceBreakdown.Surchargedecimal
مبلغ اضافه بها
CharterRoomList.PriceList.Room_PriceBreakdown.NetPrice_TaxExcludeddecimal
نرخ خالص (بعد از کسر کمیسیون و قبل از اضافه شدن مالیات)
CharterRoomList.PriceList.Room_PriceBreakdown.VAT_Percentdecimal
درصد مالیات ارزش افزوده
CharterRoomList.PriceList.Room_PriceBreakdown.VAT_Amountdecimal
معادل مبلغی درصد مالیات ارزش افزوده
CharterRoomList.PriceList.Room_PriceBreakdown.NetPrice_TaxIncludeddecimal
نرخ خالص نهایی (بعد از کسر کمیسیون و بعد از اضافه شدن مالیات)
CharterRoomList.PriceList.Extrabed_PriceBreakdowncomplex type
جزییات نرخ تخت اضافه
در صورتی که برای اتاق تخت اضافه در نظر گرفته شده باشد این فیلد مقدار خواهد داشت، در غیر این صورت null خواهد بود.
CharterRoomList.PriceList.Extrabed_PriceBreakdown.BoardPricedecimal
نرخ برد اتاق (قبل از اعمال شدن کمیسیون و مالیات)
CharterRoomList.PriceList.Extrabed_PriceBreakdown.CommissionPercentdecimal
درصد کمیسیون
CharterRoomList.PriceList.Extrabed_PriceBreakdown.CalculatedAmountOfCommissionPercentdecimal
معادل مبلغی درصد کمیسیون
CharterRoomList.PriceList.Extrabed_PriceBreakdown.Discountdecimal
مبلغ تخفیف
CharterRoomList.PriceList.Extrabed_PriceBreakdown.Surchargedecimal
مبلغ اضافه بها
CharterRoomList.PriceList.Extrabed_PriceBreakdown.NetPrice_TaxExcludeddecimal
نرخ خالص (بعد از کسر کمیسیون و قبل از اضافه شدن مالیات)
CharterRoomList.PriceList.Extrabed_PriceBreakdown.VAT_Percentdecimal
درصد مالیات ارزش افزوده
CharterRoomList.PriceList.Extrabed_PriceBreakdown.VAT_Amountdecimal
معادل مبلغی درصد مالیات ارزش افزوده
CharterRoomList.PriceList.Extrabed_PriceBreakdown.NetPrice_TaxIncludeddecimal
نرخ خالص نهایی (بعد از کسر کمیسیون و بعد از اضافه شدن مالیات)
Sample Response
{
"StatusId": 1,
"StatusDesc": "OK",
"Pnr": "KV455G",
"FailReason": null,
"CharterRoomList": [
{
"HotelSepehrGlobalId": 101,
"HotelName": "ميراژ",
"RoomTypeSepehrGlobalId": 5004,
"RoomTypeName": "يک تخته پرزيدنت",
"CheckinDate": "2023-05-11",
"CheckoutDate": "2023-05-14",
"PassengerList": [
{
"FirstName": "SAYEDMOHAMMAD",
"LastName": "KHORSAND",
"AgeType": "ADL",
"Gender": "M",
"Birthdate": "1993-05-09",
"NationalityCountry": null,
"IranianCartMelli": {
"CodeMelli": "0010752821"
},
"Passport": null
},
{
"FirstName": "GITI",
"LastName": "ZAHEDI KASHANI",
"AgeType": "ADL",
"Gender": "M",
"Birthdate": "1993-05-09",
"NationalityCountry": null,
"IranianCartMelli": {
"CodeMelli": "0011436301"
},
"Passport": null
}
],
"PriceList": [
{
"Date": "2023-05-11",
"Room_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
},
"Extrabed_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
}
},
{
"Date": "2023-05-12",
"Room_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
},
"Extrabed_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
}
},
{
"Date": "2023-05-13",
"Room_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
},
"Extrabed_PriceBreakdown": {
"BoardPrice": 1000000,
"CommissionPercent": 2,
"CalculatedAmountOfCommissionPercent": 20000,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 980000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 980000
}
}
]
},
{
"HotelSepehrGlobalId": 101,
"HotelName": "ميراژ",
"RoomTypeSepehrGlobalId": 5001,
"RoomTypeName": "دو تخته رو به دريا",
"CheckinDate": "2023-05-11",
"CheckoutDate": "2023-05-14",
"PassengerList": [
{
"FirstName": "ZAINAB",
"LastName": "KHODAMORADIFARD",
"AgeType": "ADL",
"Gender": "M",
"Birthdate": "1993-05-09",
"NationalityCountry": null,
"IranianCartMelli": {
"CodeMelli": "0010387714"
},
"Passport": null
},
{
"FirstName": "MAEDE",
"LastName": "HOSSEINNIA SANJARANI",
"AgeType": "ADL",
"Gender": "M",
"Birthdate": "1993-05-09",
"NationalityCountry": null,
"IranianCartMelli": {
"CodeMelli": "0012025445"
},
"Passport": null
}
],
"PriceList": [
{
"Date": "2023-05-11",
"Room_PriceBreakdown": {
"BoardPrice": 2000000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 2000000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 2000000
},
"Extrabed_PriceBreakdown": null
},
{
"Date": "2023-05-12",
"Room_PriceBreakdown": {
"BoardPrice": 2000000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 2000000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 2000000
},
"Extrabed_PriceBreakdown": null
},
{
"Date": "2023-05-13",
"Room_PriceBreakdown": {
"BoardPrice": 2000000,
"CommissionPercent": 0,
"CalculatedAmountOfCommissionPercent": 0,
"Discount": 0,
"Surcharge": 0,
"NetPrice_TaxExcluded": 2000000,
"VAT_Percent": 0,
"VAT_Amount": 0,
"NetPrice_TaxIncluded": 2000000
},
"Extrabed_PriceBreakdown": null
}
]
}
]
}
Response common exceptions
در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.
| ExceptionType | توضیح خطا |
|---|---|
| Exception | خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |