Odoo 20.0 Community · Persistente

calendar.event: campos, relaciones y API

El modelo calendar.event («Evento del calendario») es un modelo persistente declarado por el módulo Calendario y ampliado por 7 módulos más. Expone 114 campos, 79 de ellos declarados directamente en el modelo; 8 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 20.

Ficha de identidad

Nombre técnico
calendar.event
Etiqueta
Evento del calendario
Tipo
Persistente (models.Model)
Tabla SQL
calendar_event
Módulo de origen
Calendario (calendar)
Ampliado por
calendar_sms, crm, google_calendar, hr_calendar, hr_holidays, hr_recruitment, microsoft_calendar
Orden por defecto (_order)
start desc
Hereda de (mixins)
mail.threadmail.activity.mixingoogle.event.syncmicrosoft.calendar.sync

Campos del modelo

79 campos propios, 29 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.

114 de 114 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
accepted_countNúmero de invitaciones aceptadasinteger
calculado
access_tokenToken de invitaciónchar
solo lectura
activeActivo

Si el campo activo es False, le permitirá ocultar la notificación de aviso del evento sin eliminarla.

boolean
alarm_idsRecordatorios

Notificaciones enviadas a todos los asistentes como recordatorio de la reunión.

many2many
calculado, almacenado
alldayAll Day Durationboolean
applicant_idCandidatomany2one

añadido por Reclutamiento (hr_recruitment)

attendee_idsParticipanteone2many

inverso: event_id

attendees_countNúmero de asistentesinteger
calculado
awaiting_countNúmero de invitaciones pendientesinteger
calculado
bydayPor díaselection
calculado

Valores: 1 (Primero), 2 (Segundo), 3 (Tercero), 4 (Cuarto), -1 (Última)

calendar_colorCalendar Colorinteger

related: calendar_id.color

calendar_idCalendariomany2one
calculado, almacenado
categ_idsEtiquetasmany2many
countNúmero de repeticiones

Repetir x veces

integer
calculado
current_attendeeAsistente actualmany2one
calculado
current_status¿Asistirá?selection

related: current_attendee.state

dayDía del mesinteger
calculado
declined_countNúmero de invitaciones rechazadasinteger
calculado
descriptionDescripción

When synchronization with an external calendar is active, this description is synchronized with the one of the associated meeting in that external calendar. Any update will be propagated there and vice versa.

html
display_descriptionMostrar descripciónboolean
calculado
display_timeHora del eventochar
calculado
durationDuraciónfloat
calculado, almacenado
effective_privacyPrivacidad aplicada

Si el evento es privado, teniendo en cuenta la privacidad del usuario

selection
calculado

Valores: public (Público), private (Privado), confidential (Solo usuarios internos), members_only (Shared Calendar Members Only)

end_typeFinalización de recurrenciaselection
calculado

Valores: count (Número de repeticiones), end_date (Fecha límite), forever (Para siempre)

event_tzZona horariaselection
calculado

Valores calculados dinámicamente

follow_recurrenceSeguir la recurrenciaboolean
friVieboolean
calculado
google_calendar_urlGoogle Calendar URL

Link to manually add the meeting to Google Calendar

char
calculado
google_idId del evento de Google Calendarchar
calculado, almacenado

añadido por Google Calendar (google_calendar)

guests_readonlyPermiso para modificar el evento para invitadosboolean

añadido por Google Calendar (google_calendar)

intervalRepetir en

Repetir cada (días/semana/mes/año)

integer
calculado
invalid_email_partner_idsCorreo electrónico de contacto no válidomany2many
calculado
is_draftIs draft

When True, this field mutes the notifications of the event. It allows to save the event without confirming it and avoids notifying attendees with update messages because some information was unknown at the creation of the event. To prevent event's flow issues, the draft state should be set at the creation of the event and never reset once it is removed.

boolean
is_highlightedEs un evento destacadoboolean
calculado
is_organizer_aloneEl organizador está solo

Check if the organizer is alone in the event, i.e. if the organizer is the only one that hasn't declined the event (only if the organizer is not the only attendee)

boolean
calculado
locationUbicaciónchar
meeting_activity_idsMeeting Activitiesone2many

inverso: calendar_event_id

microsoft_recurrence_master_idID Master de recurrencia de Microsoftchar

añadido por Calendario de Outlook (microsoft_calendar)

microsoft_sync_activeMicrosoft Sync Activeboolean
calculado

añadido por Calendario de Outlook (microsoft_calendar)

monLunboolean
calculado
month_byOpciónselection
calculado

Valores: date (Día del mes), day (Día del mes)

nameAsunto de la reuniónchar
obligatorio
notesNotashtml
opportunity_idOportunidadmany2one

añadido por CRM (crm)

partner_idPlanificado pormany2one
solo lectura

related: user_id.partner_id

partner_idsAsistentesmany2many
privacyPrivacidad

Gente que podrá ver este evento.

selection

Valores: public (Público), private (Privado), confidential (Solo usuarios internos), members_only (Calendar Members Only)

privacy_placeholderPrivacy Placeholderchar
calculado
recurrence_idRegla de recurrenciamany2one
recurrence_updateActualización de recurrencia

Elija qué hacer con otros eventos recurrentes. No se permite actualizar todos los eventos cuando se modifican las fechas o la hora.

selection

Valores: self_only (Este evento), future_events (Este evento y los siguientes), all_events (Todos los eventos)

recurrencyRecurrenteboolean
res_idID del documentomany2one_reference
res_modelNombre del modelo del documentochar
solo lectura

related: res_model_id.model

res_model_idModelo de documentomany2one
res_model_nameRes Model Namechar

related: res_model_id.name

res_recordVinculado areference
calculado
rruleRegla recurrentechar
calculado
rrule_typeRecurrencia

Permite que el evento se repita automáticamente en ese intervalo

selection
calculado

Valores: daily (Días), weekly (Semanas), monthly (Meses), yearly (Años)

rrule_type_uiRepetir

Permite que el evento se repita automáticamente en ese intervalo

selection
calculado

Valores: daily (Diariamente), weekly (Semanalmente), monthly (Mensualmente), yearly (Anualmente), custom (Personalizado)

satSábboolean
calculado
should_show_statusDebe mostrar el estadoboolean
calculado
show_asMostrar como

If the time is shown as 'busy', this event will be visible to other people with either the full information or simply 'busy' written depending on its privacy. Use this option to let other people know that you are unavailable during that period of time. If the event is shown as 'free', other users know that you are available during that period of time.

selection
obligatorio

Valores: free (Disponible), busy (Ocupado)

startIniciar

Fecha de inicio del evento, sin tiempo para eventos que duran un día completo

datetime
obligatorio
start_dateFecha de iniciodate
calculado, almacenado
stopDetener

Fecha de fin del evento, sin horas para eventos de día completo

datetime
obligatoriocalculado, almacenado
stop_dateFecha de finalizacióndate
calculado, almacenado
sunDomboolean
calculado
tentative_countNúmero tentativointeger
calculado
thuJueboolean
calculado
tueMarboolean
calculado
unavailable_partner_idsAsistentes no disponibesmany2many
calculado
untilHastadate
calculado
user_can_editEl usuario puede editarboolean
calculado
user_idOrganizadormany2one
videocall_channel_idCanal de conversacionesmany2one
videocall_locationURL de la reuniónchar
calculado, almacenado
videocall_sourceOrigen de la videollamadaselection
calculado

Valores: discuss (Conversaciones), custom (Personalizado)

wedMiéboolean
calculado
weekdayDía de la semanaselection
calculado

Valores: MON (Lunes), TUE (Martes), WED (Miércoles), THU (Jueves), FRI (Viernes), SAT (Sábado), SUN (Domingo)

activity_calendar_event_idSiguiente evento en el calendario de actividades.many2one
calculado

heredado de mail.activity.mixin

activity_date_deadlineFecha límite de la siguiente actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

activity_exception_decorationDecoración de Actividad de Excepción

Tipo de actividad de excepción en el registro.

selection
calculado

Valores: warning (Alerta), danger (Error)

heredado de mail.activity.mixin

activity_exception_iconIcono

Icono para indicar una actividad de excepción.

char
calculado

heredado de mail.activity.mixin

activity_idsActividadesone2many

inverso: res_id

heredado de mail.activity.mixin

activity_plans_idsPlanes de actividadesmany2many
calculado

heredado de mail.activity.mixin

activity_stateEstado de la actividad

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
calculado

Valores: overdue (De retraso), today (Hoy), planned (Planificado)

heredado de mail.activity.mixin

activity_summaryResumen de la siguiente actividadchar

related: activity_ids.summary

heredado de mail.activity.mixin

activity_type_iconIcono de tipo de actividadchar

related: activity_ids.icon

heredado de mail.activity.mixin

activity_type_idTipo de la siguiente actividadmany2one

related: activity_ids.activity_type_id

heredado de mail.activity.mixin

activity_user_idUsuario responsablemany2one
solo lecturacalculado

heredado de mail.activity.mixin

has_messageTiene un mensajeboolean
calculado

heredado de mail.thread

last_google_calendar_sync_pathLast Google Calendar Sync Pathchar

heredado de google.event.sync

message_attachment_countNúmero de archivos adjuntosinteger
calculado

heredado de mail.thread

message_follower_idsSeguidoresone2many

inverso: res_id

heredado de mail.thread

message_has_errorError de envío de mensaje

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_has_error_counterNúmero de errores

Número de mensajes con error de envío

integer
calculado

heredado de mail.thread

message_has_sms_errorError de envío del SMS

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_idsMensajesone2many

inverso: res_id

heredado de mail.thread

message_is_followerEs un seguidorboolean
calculado

heredado de mail.thread

message_needactionAcción requerida

Si está marcada, hay nuevos mensajes que requieren su atención.

boolean
calculado

heredado de mail.thread

message_needaction_counterNúmero de acciones

Número de mensajes que requieren una acción

integer
calculado

heredado de mail.thread

message_partner_idsSeguidores (Contactos)many2many
calculado

heredado de mail.thread

microsoft_idID del evento del organizadorchar

heredado de microsoft.calendar.sync

ms_universal_event_idID de evento universalchar

heredado de microsoft.calendar.sync

my_activity_date_deadlineFecha límite de mi actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

need_syncNecesita sincronizaciónboolean

heredado de google.sync

need_sync_mNecesidad de sincronización Mboolean

heredado de microsoft.calendar.sync

rating_idsCalificacionesone2many

inverso: res_id

heredado de mail.thread

create_dateCreado eldatetime
solo lecturaautomático
create_uidCreado pormany2one
solo lecturaautomático
display_nameNombre mostradochar
solo lecturacalculadoautomático
idIDinteger
solo lecturaautomático
write_dateÚltima actualización eldatetime
solo lecturaautomático
write_uidÚltima actualización pormany2one
solo lecturaautomático

Relaciones

Modelos enlazados desde este modelo

Campos de otros modelos que apuntan aquí

Leer este modelo por la API

Ejemplo de llamada a la API JSON-2 de Odoo 20: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.

curl
curl -X POST "https://su-instancia.odoo.com/json/2/calendar.event/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","show_as","start","stop","applicant_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}

res = requests.post(
    f"{BASE_URL}/calendar.event/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","show_as","start","stop","applicant_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • El acceso a la API externa está reservado al plan Custom de Odoo.
  • XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
  • Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.

Citar esta herramienta

¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.

<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/calendar-event">calendar.event (Odoo 20.0)</a>

Fuentes

Datos verificados el 25 de septiembre de 2026 · Odoo 20.0 Community

¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos

Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.