Method: inventory.partners.availability.replace

Replaces the Availability of existing Services. This batch call does not guarantee atomicity. Only successfully updated availability slots will be returned.

HTTP request

POST https://mapsbooking.googleapis.com/v1alpha/inventory/{parent=partners/*}/availability:replace

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
parent

string

Format of partners/{partner_id}.

Request body

The request body contains data with the following structure:

JSON representation
{
  "extendedServiceAvailability": [
    {
      object (ExtendedServiceAvailability)
    }
  ]
}
Fields
extendedServiceAvailability[]

object (ExtendedServiceAvailability)

The extended service availability that is used to replace the existing availability slots.

Response body

The batch response to replace multiple Service's availability slots. Only successfully updated slots will be included in this message

If successful, the response body contains data with the following structure:

JSON representation
{
  "extendedServiceAvailability": [
    {
      object (ExtendedServiceAvailability)
    }
  ]
}
Fields
extendedServiceAvailability[]

object (ExtendedServiceAvailability)

The successfully updated extended service availability messages that were used to replace the existing availability slots.

Authorization scopes

Requires the following OAuth scope:

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

ExtendedServiceAvailability

A list of availability and who/when they should be applied to.

JSON representation
{
  "merchantId": string,
  "serviceId": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Fields
merchantId

string

This is a mandatory field required to specify which merchant the availability messages below belong to.

serviceId

string

This is a mandatory field required to specify which service the availability messages below belong to.

startTimeRestrict

string (Timestamp format)

If provided, we will consider the Availability entities provided to be a complete snapshot from [startTimeRestrict, endTimeRestrict). That is, all existing availability will be deleted if the following condition holds true:

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

If a duration message is set, the condition is further restricted:

  availability.duration == durationRestrict

If a resourcesRestrict message is set, the condition is further restricted:

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

These fields are typically used to provide a complete update of availability in a given time range.

Setting startTimeRestrict while leaving endTimeRestrict unset is interpreted to mean all time beginning at startTimeRestrict.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

Setting endTimeRestrict while leaving startTimeRestrict unset is interpreted to mean all time up to the endTimeRestrict.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

Setting duration further restricts the scope of the update to just the availability with matching duration.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

resourcesRestrict

object (Resources)

Setting resourcesRestrict further restricts the scope of the update to just this set of resources. All id fields of the resources must match exactly.

availability[]

object (Availability)

The new list of availability.