تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تحديد الحد الأدنى للوقت المُسبَق للحجز
هناك العديد من الحالات التي يريد فيها التاجر حجز خدمات أو
خانات محدّدة قبل وقت قصير. ويمكن ضبط هذه الإعدادات على مستوى
الخدمة و/أو على مستوى مدى التوفّر. وفي حال ضبطه على كلا المستويَين، سيتم استخدام الإعداد
على مستوى مدى التوفّر.
تعريف مستوى الخدمة
في
مستوى الخدمة، يُسمى الحقل rules.min_advance_booking. يجب ضبط هذا الحقل
على عدد الثواني قبل بدء الحجز
التي يجب إجراء الحجز خلالها. على سبيل المثال، إذا كان يجب إجراء الحجز دائمًا
قبل ساعة واحدة من وقت البدء، سيتم ضبط هذا الحقل على
3600 (لذا يمكن حجز موعد في الساعة 3 مساءً حتى الساعة 2 مساءً). وينطبق ذلك على
جميع الفتحات لهذه الخدمة (ما لم يتم إلغاؤه من خلال تعريف مستوى الفتحة).
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eMerchants can set a minimum advance booking time for services, ensuring bookings are made within a specified timeframe before the service start time.\u003c/p\u003e\n"],["\u003cp\u003eThis can be configured at the service level (affecting all slots) or at the individual slot level, offering flexibility in setting booking windows.\u003c/p\u003e\n"],["\u003cp\u003eService-level settings use \u003ccode\u003erules.min_advance_booking\u003c/code\u003e (in seconds), while slot-level settings use \u003ccode\u003escheduling_rule_overrides.last_bookable_sec\u003c/code\u003e (as an EPOCH timestamp).\u003c/p\u003e\n"],["\u003cp\u003eMerchants still need to validate booking requests against the booking window on their end and handle potential booking failures appropriately, as feed-based limits might not cover all edge cases.\u003c/p\u003e\n"]]],["Merchants can set minimum advanced booking times for services or slots. At the service level, the `rules.min_advance_booking` field specifies the minimum seconds needed before a reservation's start time. At the slot level, `scheduling_rule_overrides.last_bookable_sec` defines the last bookable time via an epoch timestamp. If both are set, the slot-level rule takes precedence. Regardless of feed settings, the booking system must validate booking windows upon receiving a `CreateBooking` request and respond with `SLOT_UNAVAILABLE` if the booking is outside the allowed window.\n"],null,["# Set a minimum advanced booking time\n\nSetting a minimum advanced booking time\n---------------------------------------\n\nThere are many cases in which a merchant would like specific services or\nslots to be booked a minimum time in advance. These can be set at either the\nservice level and/or at the availability level. If it is set at both, the\nsetting at the availability level will be used.\n\n### Service level definition\n\nAt the\n[service level the field is called `rules.min_advance_booking`](/actions-center/verticals/local-services/e2e/reference/feeds/services-feed#SchedulingRules-definition). This field\nshould be set to the number of seconds in advance of the reservation start\ntime that the booking needs to be made. For example if the booking always\nneeds to be made 1 hour before the start time this field would be set to\n3600 (so a booking for 3pm can be booked up until 2pm). This would apply to\nall slots for that service (unless overridden by [slot level definition](#slot-level)). \n\n### JSON\n\n```json\n\"service\": [\n {\n \"rules\": {\n \"min_advance_booking\": 3600\n }\n }\n]\n```\n\n### Slot level definition\n\nAt the\n[availability slot level the field is called\n`scheduling_rule_overrides.last_bookable_sec`](/actions-center/verticals/local-services/e2e/reference/feeds/availability-feed#Availability-definition). This\nfield is the last time (EPOCH timestamp) that the specific slot can be booked.\nThis would apply to each individual slot where this was specified. \n\n### JSON\n\n```json\n\"service_availability\": [\n {\n \"availability\": {\n \"scheduling_rule_overrides\": {\n \"last_bookable_sec\": 1468081800\n }\n }\n }\n]\n```\n| **Warning** : Implementing advance booking limit in feeds does not prevent you from having to check if the booking is within the allowed booking window and handle it [`BookingFailure`](/actions-center/verticals/local-services/e2e/reference/booking-server-api-rest/e2e-definitions/bookingfailure-definition) `SLOT_UNAVAILABLE`. There might be edge cases (such as a stall browser tab) where a [`CreateBooking`](/actions-center/verticals/local-services/e2e/reference/booking-server-api-rest/e2e-methods/createbooking-method) might be sent outside of the booking window. Upon receiving a [`CreateBooking`](/actions-center/verticals/local-services/e2e/reference/booking-server-api-rest/e2e-methods/createbooking-method), your system must confirm that the booking occurs within the allowed booking window and, if it's not, respond with `CreateBookingResponse.booking_failure = SLOT_UNAVAILABLE`."]]