Odoo 20.0 Community · Persistant

resource.calendar : champs, relations et API

Le modèle resource.calendar (« Temps de travail de la ressource ») est un modèle persistant déclaré par le module Ressource, puis enrichi par 3 autres modules. Il expose 28 champs, dont 22 déclarés directement sur le modèle ; 23 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.

Fiche d'identité

Nom technique
resource.calendar
Libellé
Temps de travail de la ressource
Type
Persistant (models.Model)
Table SQL
resource_calendar
Module d'origine
Ressource (resource)
Étendu par
hr, hr_work_entry, hr_holidays

Champs du modèle

22 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

28 champs affichés sur 28

Nom techniqueLibelléTypeDétails
activeActif

Si le champ actif n'est pas coché, le temps de travail est masqué, mais pas supprimé.

boolean
associated_leaves_countNombre de congésinteger
calculé

ajouté par Congés (hr_holidays)

attendance_idsTemps de travailone2many
calculé, stocké

inverse : calendar_id

calendar_typeCalendar Type

- Fixed: a weekly attendance pattern that repeats identically every week. - Variable: attendances set on specific dates rather than a repeating weekly pattern, such as a one-off schedule or a multi-week rotation. - Undefined: no predefined slots at all. The resource can work whenever it wants, optionally up to an hours target.

selection
requis

Valeurs : fixed (Fixe), variable (Variable), undefined (Indéfini)

company_idSociétémany2one
country_codeCode du payschar

related : country_id.code

country_idPaysmany2one

related : company_id.country_id

days_per_weekDays per Weekfloat
calculé, stocké
employees_countNombre d'employésinteger
calculé

ajouté par Employés (hr)

full_time_required_hoursÉquivalent temps plein

Nombre d'heures de travail selon l'horaire de l'entreprise pour être considéré comme un temps plein

float
calculé, stocké
global_leave_idsCongé globalone2many
calculé, stocké

inverse : calendar_id

hours_per_dayNombre moyen d'heures par jour

Le nombre moyen d'heures par jour qu'un employé est supposé travailler avec ce calendrier.

float
calculé, stocké
hours_per_weekHeures par semainefloat
calculé, stocké
is_fulltimeEst à temps pleinboolean
calculé
leave_accrual_plan_idPlan de cumul de congésmany2one

ajouté par Congés (hr_holidays)

leave_idsCongésone2many

inverse : calendar_id

material_resources_countMaterial Resources Countinteger
calculé

ajouté par Employés (hr)

nameNomchar
requis
reference_calendar_idReference Calendar

Reference working hours used to compute the full-time equivalent.

many2one
version_idsVersionone2many
lecture seule

inverse : resource_calendar_id

ajouté par Employés (hr)

work_resources_countNombre de ressources de travailinteger
calculé
work_time_rateTaux de temps de travail

Le ratio du taux de temps de travail par rapport à l'horaire complet à temps plein devrait se situer entre 0 et 100 %.

float
calculé, stocké
create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

Lire ce modèle par l'API

Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.

curl
curl -X POST "https://votre-instance.odoo.com/json/2/resource.calendar/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","calendar_type","company_id","country_id","leave_accrual_plan_id"],"limit":5}'
Python (requests)
import requests

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

res = requests.post(
    f"{BASE_URL}/resource.calendar/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","calendar_type","company_id","country_id","leave_accrual_plan_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • L'accès à l'API externe est réservé à la formule Custom d'Odoo.
  • XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
  • Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.

Citer cet outil

Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.

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

Sources

Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community

Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons

Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.