Method: inventory.partners.merchants.services.availability.replace

تستبدل هذه الدالة Availability بقيمة Service حالية لتاجر يديره المجمّع المحدّد، وتُرجعها.

طلب HTTP

POST https://mapsbooking.googleapis.com/v1alpha/inventory/{serviceAvailability.name=partners/*/merchants/*/services/*}/availability:replace

يستخدِم عنوان URL بنية تحويل ترميز gRPC.

مَعلمات المسار

المعلمات
serviceAvailability.name

string

اسم مصدر الخدمة المطلوب تطبيق ذلك عليها. بتنسيق partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "serviceAvailability": {
    "name": string,
    "startTimeRestrict": string,
    "endTimeRestrict": string,
    "durationRestrict": string,
    "resourcesRestrict": {
      "staffId": string,
      "staffName": string,
      "roomId": string,
      "roomName": string,
      "partySize": integer,
      "roomDescription": {
        object (Text)
      }
    },
    "availability": [
      {
        "startTime": string,
        "duration": string,
        "spotsTotal": string,
        "spotsOpen": string,
        "availabilityTag": string,
        "resources": {
          object (Resources)
        },
        "paymentOptionId": [
          string
        ],
        "recurrence": {
          object (Recurrence)
        },
        "scheduleException": [
          {
            object (ScheduleException)
          }
        ],
        "deposit": {
          object (Deposit)
        },
        "noShowFee": {
          object (NoShowFee)
        },
        "prepayment": {
          object (Prepayment)
        },
        "requireCreditCard": enum (RequireCreditCard),
        "ticketTypeId": [
          string
        ],
        "durationRequirement": enum (DurationRequirement),
        "schedulingRuleOverrides": {
          object (SchedulingRuleOverrides)
        },
        "confirmationMode": enum (ConfirmationMode),
        "linkoutRequiredReason": enum (LinkoutRequiredReason)
      }
    ]
  }
}
الحقول
serviceAvailability.startTimeRestrict

string (Timestamp format)

في حال توفّرها، سنعتبر كيانات مدى التوفّر المقدَّمة بمثابة لقطة كاملة من [startTimeRestrict، endTimeRestrict). وهذا يعني أنّه سيتم حذف جميع بيانات مدى التوفّر الحالية إذا كان الشرط التالي صحيحًا:

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

في حال ضبط رسالة مدة، يتم فرض قيود إضافية على الشرط:

  availability.duration == durationRestrict

في حال ضبط رسالة resourcesRestrict، يتم فرض قيود إضافية على الشرط:

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

تُستخدَم هذه الحقول عادةً لتقديم تعديل كامل على مدى التوفّر في نطاق زمني معيّن.

إنّ ضبط startTimeRestrict مع ترك endTimeRestrict بدون ضبط يعني كل الوقت بدءًا من startTimeRestrict.

يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu"‎ وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

serviceAvailability.endTimeRestrict

string (Timestamp format)

إنّ ضبط endTimeRestrict مع ترك startTimeRestrict بدون ضبط يعني كل الوقت حتى endTimeRestrict.

يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu"‎ وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

serviceAvailability.durationRestrict

string (Duration format)

يؤدي ضبط المدة إلى حصر نطاق التعديل في مدى التوفّر فقط مع المدة المطابقة.

المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ "s". مثال: "3.5s".

serviceAvailability.resourcesRestrict

object (Resources)

تؤدي إضافة "قيود" إلى حصر نطاق التعديل بهذه المجموعة من الموارد فقط. يجب أن تتطابق جميع حقول ids للموارد تمامًا.

serviceAvailability.availability[]

object (Availability)

قائمة مدى التوفّر الجديدة.

نص الاستجابة

قائمة بمدى التوفّر والجهات التي يجب تطبيقها عليها أو الحالات التي يجب تطبيقها فيها

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
الحقول
name

string

اسم مصدر الخدمة المطلوب تطبيق ذلك عليها. بتنسيق partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

في حال توفّرها، سنعتبر كيانات مدى التوفّر المقدَّمة بمثابة لقطة كاملة من [startTimeRestrict، endTimeRestrict). وهذا يعني أنّه سيتم حذف جميع بيانات مدى التوفّر الحالية إذا كان الشرط التالي صحيحًا:

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

في حال ضبط رسالة مدة، يتم فرض قيود إضافية على الشرط:

  availability.duration == durationRestrict

في حال ضبط رسالة resourcesRestrict، يتم فرض قيود إضافية على الشرط:

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

تُستخدَم هذه الحقول عادةً لتقديم تعديل كامل على مدى التوفّر في نطاق زمني معيّن.

إنّ ضبط startTimeRestrict مع ترك endTimeRestrict بدون ضبط يعني كل الوقت بدءًا من startTimeRestrict.

يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu"‎ وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

endTimeRestrict

string (Timestamp format)

إنّ ضبط endTimeRestrict مع ترك startTimeRestrict بدون ضبط يعني كل الوقت حتى endTimeRestrict.

يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu"‎ وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

durationRestrict

string (Duration format)

يؤدي ضبط المدة إلى حصر نطاق التعديل في مدى التوفّر فقط مع المدة المطابقة.

المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ "s". مثال: "3.5s".

resourcesRestrict

object (Resources)

تؤدي إضافة "قيود" إلى حصر نطاق التعديل بهذه المجموعة من الموارد فقط. يجب أن تتطابق جميع حقول ids للموارد تمامًا.

availability[]

object (Availability)

قائمة مدى التوفّر الجديدة.

نطاقات التفويض

يجب توفير نطاق OAuth التالي:

  • https://www.googleapis.com/auth/mapsbooking