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écnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| accepted_count | Número de invitaciones aceptadas | integer | calculado |
| access_token | Token de invitación | char | solo lectura |
| active | Activo Si el campo activo es False, le permitirá ocultar la notificación de aviso del evento sin eliminarla. | boolean | |
| alarm_ids | Recordatorios Notificaciones enviadas a todos los asistentes como recordatorio de la reunión. | many2many | calculado, almacenado |
| allday | All Day Duration | boolean | |
| applicant_id | Candidato | many2one | añadido por Reclutamiento ( |
| attendee_ids | Participante | one2many | inverso: |
| attendees_count | Número de asistentes | integer | calculado |
| awaiting_count | Número de invitaciones pendientes | integer | calculado |
| byday | Por día | selection | calculado Valores: |
| calendar_color | Calendar Color | integer | related: |
| calendar_id | Calendario | many2one | calculado, almacenado |
| categ_ids | Etiquetas | many2many | |
| count | Número de repeticiones Repetir x veces | integer | calculado |
| current_attendee | Asistente actual | many2one | calculado |
| current_status | ¿Asistirá? | selection | related: |
| day | Día del mes | integer | calculado |
| declined_count | Número de invitaciones rechazadas | integer | calculado |
| description | Descripció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_description | Mostrar descripción | boolean | calculado |
| display_time | Hora del evento | char | calculado |
| duration | Duración | float | calculado, almacenado |
| effective_privacy | Privacidad aplicada Si el evento es privado, teniendo en cuenta la privacidad del usuario | selection | calculado Valores: |
| end_type | Finalización de recurrencia | selection | calculado Valores: |
| event_tz | Zona horaria | selection | calculado Valores calculados dinámicamente |
| follow_recurrence | Seguir la recurrencia | boolean | |
| fri | Vie | boolean | calculado |
| google_calendar_url | Google Calendar URL Link to manually add the meeting to Google Calendar | char | calculado |
| google_id | Id del evento de Google Calendar | char | calculado, almacenado añadido por Google Calendar ( |
| guests_readonly | Permiso para modificar el evento para invitados | boolean | añadido por Google Calendar ( |
| interval | Repetir en Repetir cada (días/semana/mes/año) | integer | calculado |
| invalid_email_partner_ids | Correo electrónico de contacto no válido | many2many | calculado |
| is_draft | Is 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_highlighted | Es un evento destacado | boolean | calculado |
| is_organizer_alone | El 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 |
| location | Ubicación | char | |
| meeting_activity_ids | Meeting Activities | one2many | inverso: |
| microsoft_recurrence_master_id | ID Master de recurrencia de Microsoft | char | añadido por Calendario de Outlook ( |
| microsoft_sync_active | Microsoft Sync Active | boolean | calculado añadido por Calendario de Outlook ( |
| mon | Lun | boolean | calculado |
| month_by | Opción | selection | calculado Valores: |
| name | Asunto de la reunión | char | obligatorio |
| notes | Notas | html | |
| opportunity_id | Oportunidad | many2one→ crm.lead | añadido por CRM ( |
| partner_id | Planificado por | many2one | solo lectura related: |
| partner_ids | Asistentes | many2many | |
| privacy | Privacidad Gente que podrá ver este evento. | selection | Valores: |
| privacy_placeholder | Privacy Placeholder | char | calculado |
| recurrence_id | Regla de recurrencia | many2one | |
| recurrence_update | Actualizació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: |
| recurrency | Recurrente | boolean | |
| res_id | ID del documento | many2one_reference | |
| res_model | Nombre del modelo del documento | char | solo lectura related: |
| res_model_id | Modelo de documento | many2one→ ir.model | |
| res_model_name | Res Model Name | char | related: |
| res_record | Vinculado a | reference | calculado |
| rrule | Regla recurrente | char | calculado |
| rrule_type | Recurrencia Permite que el evento se repita automáticamente en ese intervalo | selection | calculado Valores: |
| rrule_type_ui | Repetir Permite que el evento se repita automáticamente en ese intervalo | selection | calculado Valores: |
| sat | Sáb | boolean | calculado |
| should_show_status | Debe mostrar el estado | boolean | calculado |
| show_as | Mostrar 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: |
| start | Iniciar Fecha de inicio del evento, sin tiempo para eventos que duran un día completo | datetime | obligatorio |
| start_date | Fecha de inicio | date | calculado, almacenado |
| stop | Detener Fecha de fin del evento, sin horas para eventos de día completo | datetime | obligatoriocalculado, almacenado |
| stop_date | Fecha de finalización | date | calculado, almacenado |
| sun | Dom | boolean | calculado |
| tentative_count | Número tentativo | integer | calculado |
| thu | Jue | boolean | calculado |
| tue | Mar | boolean | calculado |
| unavailable_partner_ids | Asistentes no disponibes | many2many | calculado |
| until | Hasta | date | calculado |
| user_can_edit | El usuario puede editar | boolean | calculado |
| user_id | Organizador | many2one | |
| videocall_channel_id | Canal de conversaciones | many2one | |
| videocall_location | URL de la reunión | char | calculado, almacenado |
| videocall_source | Origen de la videollamada | selection | calculado Valores: |
| wed | Mié | boolean | calculado |
| weekday | Día de la semana | selection | calculado Valores: |
| activity_calendar_event_id | Siguiente evento en el calendario de actividades. | many2one | calculado heredado de mail.activity.mixin |
| activity_date_deadline | Fecha límite de la siguiente actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| activity_exception_decoration | Decoración de Actividad de Excepción Tipo de actividad de excepción en el registro. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_exception_icon | Icono Icono para indicar una actividad de excepción. | char | calculado heredado de mail.activity.mixin |
| activity_ids | Actividades | one2many | inverso: heredado de mail.activity.mixin |
| activity_plans_ids | Planes de actividades | many2many | calculado heredado de mail.activity.mixin |
| activity_state | Estado de la actividad Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_summary | Resumen de la siguiente actividad | char | related: heredado de mail.activity.mixin |
| activity_type_icon | Icono de tipo de actividad | char | related: heredado de mail.activity.mixin |
| activity_type_id | Tipo de la siguiente actividad | many2one | related: heredado de mail.activity.mixin |
| activity_user_id | Usuario responsable | many2one | solo lecturacalculado heredado de mail.activity.mixin |
| has_message | Tiene un mensaje | boolean | calculado heredado de mail.thread |
| last_google_calendar_sync_path | Last Google Calendar Sync Path | char | heredado de google.event.sync |
| message_attachment_count | Número de archivos adjuntos | integer | calculado heredado de mail.thread |
| message_follower_ids | Seguidores | one2many | inverso: heredado de mail.thread |
| message_has_error | Error de envío de mensaje Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_has_error_counter | Número de errores Número de mensajes con error de envío | integer | calculado heredado de mail.thread |
| message_has_sms_error | Error de envío del SMS Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_ids | Mensajes | one2many | inverso: heredado de mail.thread |
| message_is_follower | Es un seguidor | boolean | calculado heredado de mail.thread |
| message_needaction | Acción requerida Si está marcada, hay nuevos mensajes que requieren su atención. | boolean | calculado heredado de mail.thread |
| message_needaction_counter | Número de acciones Número de mensajes que requieren una acción | integer | calculado heredado de mail.thread |
| message_partner_ids | Seguidores (Contactos) | many2many | calculado heredado de mail.thread |
| microsoft_id | ID del evento del organizador | char | heredado de microsoft.calendar.sync |
| ms_universal_event_id | ID de evento universal | char | heredado de microsoft.calendar.sync |
| my_activity_date_deadline | Fecha límite de mi actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| need_sync | Necesita sincronización | boolean | heredado de google.sync |
| need_sync_m | Necesidad de sincronización M | boolean | heredado de microsoft.calendar.sync |
| rating_ids | Calificaciones | one2many | inverso: heredado de mail.thread |
| create_date | Creado el | datetime | solo lecturaautomático |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- calendar.alarm: alarm_ids
- calendar.attendee: attendee_ids, current_attendee
- calendar.calendar: calendar_id
- calendar.event.type: categ_ids
- calendar.recurrence: recurrence_id
- crm.lead: opportunity_id
- discuss.channel: videocall_channel_id
- hr.applicant: applicant_id
- ir.model: res_model_id
- mail.activity: meeting_activity_ids
- res.partner: invalid_email_partner_ids, partner_id, partner_ids, unavailable_partner_ids
- res.users: user_id
Campos de otros modelos que apuntan aquí
- calendar.attendee: event_id
- calendar.event.archive.or.unlink.wizard: calendar_event_id
- calendar.event.multi.archive.or.unlink.wizard: calendar_event_ids
- calendar.recurrence: base_event_id
- hr.leave: meeting_id
- mail.activity: calendar_event_id
- mail.activity.mixin: activity_calendar_event_id
- res.partner: meeting_ids
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 -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}'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
- Código fuente del modelo en GitHub
- Documentación de Odoo 20: ORM API
- Documentación de Odoo 20: API externa JSON-2
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.