رزرو هتل
با نرخ اعتبارسنجیشده و مشخصات مهمانان، یک اتاق را نگه دارید.
POST/v2/Hotel/HotelBook
دسترسی نیازمند مجوز hotel_book
پس از اعتبارسنجی نرخ، رزرو کنید. مهمانان و یک مخاطب اصلی را بفرستید. پاسخ یک UniqueId برمیگرداند. این فقط نگهداشتن موقت (hold) است و هنوز مبلغی کسر نمیشود. برای نهایی کردن، سفارش را ثبت کنید.
دو نسخه.
مسیر v1 یعنی
/Hotel/HotelBook همین عملیات را با همین بدنه انجام میدهد. یکپارچهسازیهای جدید باید از مسیر v2 بالا استفاده کنند.
پارامترهای مسیر#
ندارد.
پارامترهای کوئری#
ندارد.
پارامترهای بدنه#
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
SessionId | string | الزامی | شناسهٔ نشست شما. |
FareSourceCode | string | الزامی | کد اعتبارسنجیشده از بررسی نرخ. |
PhoneNumber | string | الزامی | تلفن مخاطب اصلی. |
Email | string | الزامی | ایمیل مخاطب اصلی. |
HotelTransfers | array | باید باشد | این فیلد باید حتماً وجود داشته باشد. اگر ترانسفری ندارید، [] بفرستید. |
Nationality | string | اختیاری | ملیت مهمان اصلی (کد کشور ISO). برخی نرخها به ملیت وابستهاند. |
ClientUniqueId | string | اختیاری | شمارهٔ مرجع خودتان. بعداً در اطلاعات رزرو قابل استفاده است. |
Note | string | اختیاری | درخواست متنی آزاد که به هتل منتقل میشود. |
درخواست#
curl -X POST https://api.simorghapi.com/api/v2/Hotel/HotelBook \
-H "Content-Type: application/json" \
-d '{
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"FareSourceCode": "YmE6OTk4MjE6cnI3ZjMy",
"PhoneNumber": "+441234567890",
"Email": "traveller@example.com",
"Nationality": "GB",
"ClientUniqueId": "hotel-order-0001",
"Rooms": [
{
"Passengers": [
{ "FirstName": "Jane", "LastName": "Doe", "PassengerType": 1, "PassengerTitle": 2 }
]
}
],
"HotelTransfers": []
}'const res = await fetch("https://api.simorghapi.com/api/v2/Hotel/HotelBook", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
FareSourceCode: "YmE6OTk4MjE6cnI3ZjMy",
PhoneNumber: "+441234567890",
Email: "traveller@example.com",
Nationality: "GB",
ClientUniqueId: "hotel-order-0001",
Rooms: [
{ Passengers: [ { FirstName: "Jane", LastName: "Doe", PassengerType: 1, PassengerTitle: 2 } ] }
],
HotelTransfers: []
})
});
const data = await res.json();import requests
res = requests.post(
"https://api.simorghapi.com/api/v2/Hotel/HotelBook",
json={
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"FareSourceCode": "YmE6OTk4MjE6cnI3ZjMy",
"PhoneNumber": "+441234567890",
"Email": "traveller@example.com",
"Nationality": "GB",
"ClientUniqueId": "hotel-order-0001",
"Rooms": [
{"Passengers": [
{"FirstName": "Jane", "LastName": "Doe", "PassengerType": 1, "PassengerTitle": 2}
]}
],
"HotelTransfers": [],
},
)
data = res.json()پاسخ#
| فیلد | نوع | توضیح |
|---|---|---|
Success | boolean | در صورت موفقیت true. |
UniqueId | string | شناسهٔ رزرو. آن را برای سفارش، پیگیری و لغو نگه دارید. |
Status | integer | وضعیت رزرو: نگهداشتهشده و در انتظار سفارش. |
Error | object | در صورت موفقیت null. |
{
"Success": true,
"UniqueId": "HB-2026-004417",
"Status": 10,
"Error": null
}
این نگهداشتن موقت است، نه تأیید نهایی.
در مرحلهٔ رزرو مبلغی کسر نمیشود. این نگهداشتن حدود ۱۵ دقیقه اعتبار دارد. پیش از انقضای آن، سفارش را ثبت کنید.
خطاها#
| کد | معنا | راهحل |
|---|---|---|
Err0106001 | یکی از فیلدهای الزامی مهمان یا مخاطب ارسال نشده است. | فیلدی را که در پیام خطا آمده اصلاح کنید. |
Err0102003 | این نرخ دیگر در دسترس نیست. | نرخ را دوباره اعتبارسنجی کنید. |
ویرایش این صفحه در گیتهابمشکلی دیدید؟ از پنل ← پشتیبانی خبرمان کنید.