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