رزرو تفریح
ایجاد، تأیید و خواندن رزروهای تفریحات.
رزرو با وضعیت reserved ایجاد میشود و یک نسخه از آن بهصورت محلی نگه داشته میشود. سپس پلتفرم آن را بهصورت ناهمگام (async) صادر میکند. uuidـی که هنگام ایجاد دریافت میکنید، در تمام چرخهٔ عمر رزرو مرجع دائمی شماست؛ حتی پس از اینکه به شناسهٔ تأمینکننده نگاشت شود. SessionId را در درخواستهای POST و PUT در بدنهٔ JSON و در درخواستهای GET در کوئریاسترینگ بفرستید.
ایجاد رزرو#
دسترسی نیازمند مجوز activity_create_booking
یک نوع محصول را برای یک تاریخ و ترکیب نفرات، همراه با مشخصات مشتری اصلی، رزرو کنید. مبلغ کل از موجودی دفتر بلوکه میشود.
پارامترهای بدنه#
| نام | نوع | الزامی | پیشفرض | توضیح |
|---|---|---|---|---|
SessionId | string | الزامی | - | شناسهٔ نشست شما. |
productTypeUuid | string | الزامی | - | نوع محصولی که رزرو میکنید، از product-types. |
arrivalDate | string | الزامی | امروز + ۷ | تاریخ بازدید، با قالب YYYY-MM-DD. نام جایگزین: date. |
adults | integer | الزامی | 1 | تعداد بلیت بزرگسال. نام جایگزین: pax. |
children | integer | اختیاری | 0 | تعداد بلیت کودک. |
seniors | integer | اختیاری | 0 | تعداد بلیت سالمند. |
timeSlot | string | اختیاری | - | سانس انتخابشده، وقتی نوع محصول سانسبندی دارد. |
partnerReference | string | اختیاری | - | شمارهٔ مرجع خودتان که روی رزرو برگردانده میشود. |
curl -X POST https://api.simorghapi.com/api/Activity/v2/bookings \
-H "Content-Type: application/json" \
-d '{
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"productTypeUuid": "5f3ff236-40b1-4f0a-a780-1db8649d1f5b",
"arrivalDate": "2026-10-15",
"adults": 2,
"children": 0,
"seniors": 0,
"partnerReference": "activity-order-0001",
"customer": {
"salutation": "Mr.",
"firstName": "Jane",
"lastName": "Doe",
"email": "traveller@example.com",
"phone": "+441234567890"
}
}'const res = await fetch("https://api.simorghapi.com/api/Activity/v2/bookings", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
productTypeUuid: "5f3ff236-40b1-4f0a-a780-1db8649d1f5b",
arrivalDate: "2026-10-15",
adults: 2,
children: 0,
seniors: 0,
partnerReference: "activity-order-0001",
customer: {
salutation: "Mr.",
firstName: "Jane",
lastName: "Doe",
email: "traveller@example.com",
phone: "+441234567890"
}
})
});
const data = await res.json();import requests
res = requests.post(
"https://api.simorghapi.com/api/Activity/v2/bookings",
json={
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"productTypeUuid": "5f3ff236-40b1-4f0a-a780-1db8649d1f5b",
"arrivalDate": "2026-10-15",
"adults": 2,
"children": 0,
"seniors": 0,
"partnerReference": "activity-order-0001",
"customer": {
"salutation": "Mr.",
"firstName": "Jane",
"lastName": "Doe",
"email": "traveller@example.com",
"phone": "+441234567890",
},
},
)
data = res.json()پاسخ#
رزرو ایجادشده با وضعیت reserved. مقدار data.uuid را برای همهٔ فراخوانیهای بعدی نگه دارید.
{
"data": {
"uuid": "1d59a17e-9726-4283-a5b7-bab7886e4709",
"code": "Z2KB84Z",
"partnerReference": "activity-order-0001",
"status": "reserved",
"productTypeTitle": "Gardens by the Bay Admission",
"productTypeUuid": "5f3ff236-40b1-4f0a-a780-1db8649d1f5b",
"currencyCode": "USD",
"totalAmount": 44.00,
"amountBreakdown": [ { "name": "adult", "quantity": 2, "price": "22.00" } ],
"arrivalDate": "2026-10-15",
"adults": 2, "children": 0, "seniors": 0
},
"timestamp": "2026-10-15T16:24:49.648+08:00"
}تأیید یا لغو#
دسترسی نیازمند مجوز activity_update_booking_status
اگر {status} را confirm بگذارید، رزرو به سمت صدور میرود (وضعیت از reserved به waiting و پس از صدور به approved تغییر میکند). با cancel رزرو لغو میشود.
PUT /api/Activity/v2/bookings/1d59a17e-9726-4283-a5b7-bab7886e4709/confirm
{ "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f" }فهرست و جزئیات رزروها#
دسترسی نیازمند مجوز activity_list_bookings
فهرستی صفحهبندیشده و قابل فیلتر. میتوانید با date_start، date_end، first_name، last_name، email، phone، partner_reference، query و status فیلتر کنید و با page و per_page صفحهبندی کنید.
دسترسی نیازمند مجوز activity_booking_details
یک رزرو بر اساس uuid مرجع آن. مقادیر وضعیت: reserved، waiting، approved، cancelled، expired، rejected، refunded.