hr.time.rule : champs, relations et API
Le modèle hr.time.rule (« Time Rule ») est un modèle persistant déclaré par le module Work Entries, puis enrichi par 3 autres modules. Il expose 40 champs, dont 34 déclarés directement sur le modèle ; 2 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
hr.time.rule- Libellé
- Time Rule
- Type
- Persistant (models.Model)
- Table SQL
hr_time_rule- Module d'origine
- Work Entries (
hr_work_entry) - Étendu par
- hr_attendance, hr_holidays, hr_holidays_attendance
- Tri par défaut (_order)
sequence, id
Champs du modèle
34 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.
40 champs affichés sur 40
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| allocation_type_id | Allocate to | many2one | ajouté par Congés ( |
| amount_rate | Salary Rate | float | calculé, stocké |
| apply_friday | Apply Friday | boolean | |
| apply_monday | Apply Monday Define a condition based on the timing of the time entry. | boolean | |
| apply_on_public_holidays | Apply On Public Holidays | boolean | |
| apply_saturday | Apply Saturday | boolean | |
| apply_sunday | Apply Sunday | boolean | |
| apply_thursday | Apply Thursday | boolean | |
| apply_tuesday | Apply Tuesday | boolean | |
| apply_wednesday | Apply Wednesday | boolean | |
| calendar_source | Calendar Source Which schedule to use as the expected-hours baseline. | selection | calculé, stocké Valeurs : |
| company_id | Société | many2one | |
| condition_label | Condition | char | calculé |
| condition_work_entry_type_ids | Type de temps If set, only the selected types will be considered by this rule. | many2many | requis |
| country_code | Code du pays | char | related : |
| country_id | Pays | many2one | calculé, stocké |
| country_work_entry_type_ids | Country Work Entry Type | many2many | calculé |
| description | Description | text | |
| employee_domain | Employés The rule will automatically apply to all time entries for matching employees. | char | |
| employee_tolerance | Tolérance de l’employé | float | |
| employer_tolerance | Tolérance de l’employeur | float | |
| expected_hours | Heures de travail habituelles | float | calculé, stocké |
| leave_compensation_rate | Allocate % Leave allocated or taken at this rate of the excess or deficit. 100% = 1:1. | float | ajouté par Congés ( |
| name | Nom | char | requis |
| quantity_period | Période de référence quantité | selection | calculé, stocké Valeurs : |
| resource_calendar_id | Planifier | many2one | |
| sequence | Séquence | integer | |
| threshold_operator | Threshold Operator | selection | requis Valeurs : |
| timing_start | De | float | |
| timing_stop | Au | float | |
| week_start | Week Starts On | selection | Valeurs : |
| work_entry_type_id | Set Excess to Define a time type that will be created to count the amount of time in excess or missing. | many2one | |
| working_hours_mode | Working Hours Mode Define a condition based on the quantity of work made by the employee on a specific period of time. | selection | requis Valeurs : |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- hr.work.entry.type : allocation_type_id, condition_work_entry_type_ids, country_work_entry_type_ids, work_entry_type_id
- res.company : company_id
- res.country : country_id
- resource.calendar : resource_calendar_id
Champs d'autres modèles qui pointent ici
- hr.attendance : time_rule_id
- hr.leave : time_rule_id
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 -X POST "https://votre-instance.odoo.com/json/2/hr.time.rule/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","threshold_operator","working_hours_mode","allocation_type_id","company_id"],"limit":5}'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}/hr.time.rule/search_read",
headers=headers,
json={"domain": [], "fields": ["name","threshold_operator","working_hours_mode","allocation_type_id","company_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/hr-time-rule">hr.time.rule (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
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.