Usar el mecanismo de alertas para seleccionar entidades

Las alertas se pueden vincular simultáneamente con varias entidades de un mismo feed, como paradas, estaciones, proveedores de transporte, rutas, etc.

En este artículo se indican las combinaciones más habituales a las que se les puede asignar una alerta.

Uso de informed_entity

Si se especifican varios valores de informed_entity en una misma alerta, esa alerta se asignará a las entidades que concuerdan con cualquiera de esos valores.

En el ejemplo siguiente, hay dos valores de informed_entity. En cada uno se especifica una ruta diferente. De esta manera, la alerta se asigna a todos los trayectos de ambas rutas y a todas las paradas de los trayectos de ambas rutas.

id: "2"
alert {
  informed_entity {
    route_id: "1"
  }
  informed_entity {
    route_id: "2"
  }
  ...
}

Cuando se asignan valores a varios campos de un mismo campo informed_entity, la alerta solo se asigna a las entidades en las que concuerden todos los valores asignados.

En el ejemplo siguiente, en el campo informed_entity se especifican los valores de route_id y stop_id. De esta manera, la alerta se asigna a los tramos de los trayectos que forman parte de la ruta especificada en esa parada concreta. La alerta no se mostrará en los trayectos de la ruta que no incluyan la parada, y tampoco en los trayectos que no formen parte de la ruta pero incluyan la parada.

id: "2"
alert {
  informed_entity {
    route_id: "1"
    stop_id: "2"
  }
  ...
}

Uso de active_period

El campo trip de informed_entity te permite seleccionar la fecha y la hora del trayecto. Los demás campos te permiten seleccionar entidades, como las paradas afectadas, pero no proporcionan suficiente información para indicar cuándo deben asignarse las alertas.

El campo active_period se debe usar en combinación con informed_entity para definir el periodo durante el cual se vinculará la alerta con las entidades correspondientes. Sin embargo, esto no determina cuándo verán la alerta los usuarios.

Supongamos, por ejemplo, que el 20 de diciembre creas una alerta que afecta a todos los trayectos. Al campo active_period de la alerta le asignas el 25 de diciembre.

Desde el 20 de diciembre, los usuarios que busquen trayectos para el 25 de diciembre vinculados con esa alerta la verán, ya que esa fecha es el valor definido en active_period. Sin embargo, si buscan trayectos para cualquier otra fecha vinculados con esa alerta, no la verán.

Si no proporcionas el campo active_period con un valor, la alerta se asignará a informed_entity inmediatamente después de crearla y se mantendrá hasta que se elimine del feed.

Para evitar que los usuarios sepan de la alerta antes de que esté activa, créala en el momento a partir del cual quieras que la vean. Por ejemplo, las alertas sobre nuevas medidas de distanciamiento social se deben publicar cuando dichas medidas se anuncien en los comunicados de prensa oficiales.

Combinaciones de selectores de entidades

Proveedor de transporte

Entidades a las que se asigna la alerta:

  • Todos los trayectos y las rutas del proveedor de transporte
  • Todas las paradas de autobús incluidas en los trayectos del proveedor de transporte

Detalles de la implementación:

  • En informed_entity solo se debe incluir el campo agency_id, con un valor asignado.
  • En el campo active_period se debe definir el periodo durante el cual la alerta estará activa.

Ejemplo: El proveedor de transporte "A" quiere avisar de un problema en las vías del tren que afectará a todos los trayectos y las rutas el 20 de diciembre, entre las 10:00 y las 12:00 UTC.

id: "1"
alert {
  informed_entity {
    agency_id: "A"
  }
  active_period {
    start: 1608458400
    end: 1608465600
  }
  effect: MODIFIED_SERVICE
  cause: OTHER_CAUSE
  ...
}

Ruta

Entidades a las que se asigna la alerta:

  • Todos los trayectos de la ruta especificada
  • Todas las paradas de autobús incluidas en los trayectos de la ruta

Detalles de la implementación:

  • En informed_entity solo se debe incluir el campo route_id, con un valor asignado.
  • En el campo active_period se debe definir el periodo durante el cual la alerta estará activa.

Ejemplo: Una ruta turística se cancela del 10 al 20 de diciembre debido a una emergencia médica.

id: "1"
alert {
  informed_entity {
    route_id: "12"
  }
  active_period {
    start: 1607558400
    end: 1608508799
  }
  effect: NO_SERVICE
  cause: MEDICAL_EMERGENCY
  ...
}

Ruta en una dirección determinada

Entidades a las que se asigna la alerta:

  • Todos los trayectos de la ruta especificada que tienen un valor asignado en el campo direction_id
  • Todas las paradas de autobús incluidas en los trayectos de la ruta

Detalles de la implementación:

  • En informed_entity solo se deben incluir los campos route_id y direction_id, cada uno con un valor asignado.
  • En el campo active_period se debe definir el periodo durante el cual la alerta estará activa.

Ejemplo: Una ruta turística se cancela del 10 al 20 de diciembre debido a una emergencia médica.

id: "1"
alert {
  informed_entity {
    route_id: "12"
    direction_id: 1
  }
  active_period {
    start: 1607558400
    end: 1608508799
  }
  effect: NO_SERVICE
  cause: MEDICAL_EMERGENCY
  ...
}

Modo de transporte

Entidades a las que se asigna la alerta:

  • Todos los trayectos que incluyen el tipo de ruta especificado
  • Todas las paradas de autobús incluidas en los trayectos de la ruta

Detalles de la implementación:

  • En informed_entity solo se debe incluir el campo route_id, con un valor asignado.
  • En el campo active_period se debe definir el periodo durante el cual la alerta estará activa.

Ejemplo: Todos los trayectos en ferri se cancelan el 20 de diciembre debido a una inundación grave.

id: "1"
alert {
  informed_entity {
    route_type: 4
  }
  active_period {
    start: 1608422400
    end: 1608508799
  }
  effect: NO_SERVICE
  cause: WEATHER
  ...
}

Parada

Entidades a las que se asigna la alerta:

  • Todos los trayectos que incluyen la parada especificada
  • La parada especificada

Detalles de la implementación:

  • En informed_entity solo se debe incluir el campo stop_id, con un valor asignado.
  • En el campo active_period se debe definir el periodo durante el cual la alerta estará activa.

Ejemplo: La parada está cerrada del 10 al 20 de diciembre por obras.

id: "1"
alert {
  informed_entity {
    stop_id: "4"
  }
  active_period {
    start: 1607558400
    end: 1608508799
  }
  effect: NO_SERVICE
  cause: CONSTRUCTION
  ...
}

Trayecto

Entidades a las que se asigna la alerta:

  • Todos los trayectos que incluyen la parada especificada
  • Todas las paradas incluidas en el trayecto

Detalles de la implementación:

Búsqueda
Borrar búsqueda
Cerrar búsqueda
Menú principal
17640639690469280389
true
Buscar en el Centro de ayuda
true
true
true
true
true
82656
false
false