Method: inventory.partners.availability.replace

Reemplaza la disponibilidad (Availability) de los servicios (Services) existentes. Esta llamada por lotes no garantiza la atomicidad. Solo se mostrarán los horarios disponibles actualizados correctamente.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Formato de partners/{partner_id}.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "extendedServiceAvailability": [
    {
      object (ExtendedServiceAvailability)
    }
  ]
}
Campos
extendedServiceAvailability[]

object (ExtendedServiceAvailability)

Es la disponibilidad extendida del servicio que se utiliza para reemplazar los horarios disponibles existentes.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Es la respuesta por lotes para reemplazar varios horarios disponibles del servicio (Service). En este mensaje, solo se incluirán los horarios disponibles actualizados correctamente.

Representación JSON
{
  "extendedServiceAvailability": [
    {
      object (ExtendedServiceAvailability)
    }
  ]
}
Campos
extendedServiceAvailability[]

object (ExtendedServiceAvailability)

Los mensajes de la disponibilidad extendida del servicio se actualizaron correctamente y se usaron para reemplazar los horarios disponibles existentes.

Alcances de la autorización

Requiere el siguiente alcance de OAuth:

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

ExtendedServiceAvailability

Es una lista de los horarios disponibles, a quién se deben aplicar y cuándo.

Representación JSON
{
  "merchantId": string,
  "serviceId": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Campos
merchantId

string

Este campo es obligatorio para especificar a qué comercio pertenecen los mensajes de disponibilidad que aparecen a continuación.

serviceId

string

Este campo es obligatorio para especificar a qué servicio pertenecen los mensajes de disponibilidad que aparecen a continuación.

startTimeRestrict

string (Timestamp format)

Si se proporciona, consideraremos que las entidades de disponibilidad provistas corresponden a un resumen completo de [startTimeRestrict, endTimeRestrict]. Es decir, se borrará toda la disponibilidad existente si se cumple la siguiente condición:

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

Si se establece un mensaje de duración, la condición se verá aún más restringida:

  availability.duration == durationRestrict

Si se establece un mensaje resourcesRestrict, la condición se verá aún más restringida:

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

Estos campos suelen utilizarse para proporcionar una actualización completa de la disponibilidad en un período determinado.

Si se establece startTimeRestrict, pero se deja endTimeRestrict sin definir, se interpretará que el período en cuestión abarca desde startTimeRestrict en adelante.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

Si se establece endTimeRestrict, pero se deja startTimeRestrict sin definir, se interpretará que el período en cuestión abarca todo momento hasta endTimeRestrict.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

Si se establece la duración, el alcance de la actualización se verá aún más restringido y solo abarcará la disponibilidad cuya duración coincida con aquella establecida.

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

resourcesRestrict

object (Resources)

Si se establece resourcesRestrict, el alcance de la actualización se verá aún más restringido y solo abarcará este conjunto de recursos. Todos los campos de ID de los recursos deben coincidir exactamente.

availability[]

object (Availability)

La nueva lista de horarios disponibles.