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

Ersetzt die Verfügbarkeit (Availability) einer vorhandenen Dienstleistung (Service) eines Händlers, der vom angegebenen Aggregator verwaltet wird, und gibt sie zurück

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
serviceAvailability.name

string

Der Ressourcenname der Dienstleistung, auf die die Verfügbarkeit angewendet werden soll, im Format partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "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)
      }
    ]
  }
}
Felder
serviceAvailability.startTimeRestrict

string (Timestamp format)

Sofern angegeben, betrachten wir die angegebenen Entitäten für die Verfügbarkeit als vollständige Übersicht von [startTimeRestrict, endTimeRestrict]. Das heißt, alle vorhandenen Verfügbarkeiten werden gelöscht, wenn die folgende Bedingung erfüllt ist:

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

Wenn eine Nachricht für die Dauer festgelegt ist, wird die Bedingung weiter eingeschränkt:

  availability.duration == durationRestrict

Wenn eine "resourcesRestrict"-Nachricht festgelegt ist, wird die Bedingung weiter eingeschränkt:

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

Diese Felder werden normalerweise verwendet, um eine vollständige Aktualisierung der Verfügbarkeiten in einem bestimmten Zeitraum bereitzustellen.

Wenn "startTimeRestrict" festgelegt ist, "endTimeRestrict" aber nicht, wird das als immer ab "startTimeRestrict" ausgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

serviceAvailability.endTimeRestrict

string (Timestamp format)

Wenn "endTimeRestrict" festgelegt ist, "startTimeRestrict" aber nicht, wird das als immer bis "endTimeRestrict" ausgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

serviceAvailability.durationRestrict

string (Duration format)

Wenn die Dauer festgelegt wird, werden nur die Verfügbarkeiten mit übereinstimmender Dauer aktualisiert.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

serviceAvailability.resourcesRestrict

object (Resources)

Wenn "resourcesRestrict" festgelegt wird, werden nur die entsprechenden Ressourcen aktualisiert. Die ID-Felder der Ressourcen müssen alle genau übereinstimmen.

serviceAvailability.availability[]

object (Availability)

Die neue Liste der Verfügbarkeiten.

Antworttext

Eine Liste der Verfügbarkeiten und auf wen/wann sie angewendet werden sollen

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Felder
name

string

Der Ressourcenname der Dienstleistung, auf die die Verfügbarkeit angewendet werden soll, im Format partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

Sofern angegeben, betrachten wir die angegebenen Entitäten für die Verfügbarkeit als vollständige Übersicht von [startTimeRestrict, endTimeRestrict]. Das heißt, alle vorhandenen Verfügbarkeiten werden gelöscht, wenn die folgende Bedingung erfüllt ist:

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

Wenn eine Nachricht für die Dauer festgelegt ist, wird die Bedingung weiter eingeschränkt:

  availability.duration == durationRestrict

Wenn eine "resourcesRestrict"-Nachricht festgelegt ist, wird die Bedingung weiter eingeschränkt:

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

Diese Felder werden normalerweise verwendet, um eine vollständige Aktualisierung der Verfügbarkeiten in einem bestimmten Zeitraum bereitzustellen.

Wenn "startTimeRestrict" festgelegt ist, "endTimeRestrict" aber nicht, wird das als immer ab "startTimeRestrict" ausgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

Wenn "endTimeRestrict" festgelegt ist, "startTimeRestrict" aber nicht, wird das als immer bis "endTimeRestrict" ausgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

Wenn die Dauer festgelegt wird, werden nur die Verfügbarkeiten mit übereinstimmender Dauer aktualisiert.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

resourcesRestrict

object (Resources)

Wenn "resourcesRestrict" festgelegt wird, werden nur die entsprechenden Ressourcen aktualisiert. Die ID-Felder der Ressourcen müssen alle genau übereinstimmen.

availability[]

object (Availability)

Die neue Liste der Verfügbarkeiten.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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