hr.employee.public: fields, relations and API
The hr.employee.public model ("Public Employee") is a persistent model declared by the Employees module, then extended by 12 other modules. It exposes 104 fields, 99 of them declared directly on the model; 2 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.
Model identity
- Technical name
hr.employee.public- Label
- Public Employee
- Type
- Persistent (models.Model)
- SQL table
- None (no table)
- Origin module
- Employees (
hr) - Extended by
- hr_attendance, hr_expense, hr_fleet, hr_gamification, hr_holidays, hr_homeworking, hr_maintenance, hr_org_chart, hr_presence, hr_skills, hr_skills_slides, hr_timesheet
- Default order (_order)
name
Model fields
99 own fields, 0 inherited from mixins and 5 automatic ORM fields. Click a name to get a direct link to that field.
104 of 104 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| active | Active | boolean | read-only |
| address_id | Address | many2one | read-only |
| allocation_display | Allocation Display | char | computed added by Time Off ( |
| allocation_remaining_display | Allocation Remaining Display | char | related: added by Time Off ( |
| attendance_manager_id | Attendance Manager | many2one | related: added by Attendances ( |
| attendance_state | Attendance State | selection | read-only related: added by Attendances ( |
| avatar_1024 | Avatar 1024 | image | related: |
| avatar_128 | Avatar 128 | image | related: |
| avatar_1920 | Avatar | image | related: |
| avatar_256 | Avatar 256 | image | related: |
| avatar_512 | Avatar 512 | image | related: |
| badge_ids | Badge | one2many | read-onlycomputed added by HR Gamification ( |
| birthday_public_display_string | Public Date of Birth | char | related: |
| certification_ids | Certification | one2many | related: added by Skills Management ( |
| child_all_count | Child All Count | integer | computed added by HR Org Chart ( |
| child_count | Child Count | integer | computed added by HR Org Chart ( |
| child_ids | Direct subordinates | one2many | read-only inverse: |
| coach_id | Coach | many2one | read-only |
| color | Color | integer | read-only |
| company_id | Company | many2one | read-only |
| country_code | Country Code | char | computed |
| courses_completion_text | Courses Completion Text | char | related: added by Skills e-learning ( |
| create_date | Create Date | datetime | read-only |
| current_employee_skill_ids | Current Employee Skill | one2many | related: added by Skills Management ( |
| department_color | Department Color | integer | computed added by HR Org Chart ( |
| department_id | Department | many2one | read-only |
| display_attendances | Display Attendances | boolean | related: added by Attendances ( |
| display_certification_page | Display Certification Page | boolean | related: added by Skills Management ( |
| display_extra_hours | Display Extra Hours | boolean | related: added by Attendances ( |
char | related: | ||
| email_sent | Email Sent | boolean | added by Employee Presence Control ( |
| employee_id | Employee | many2one | read-only |
| employee_skill_ids | Skills | one2many | inverse: added by Skills Management ( |
| equipment_count | Equipment Count | integer | related: added by Maintenance - HR ( |
| expense_manager_id | Expense Manager | many2one | read-only added by Expenses ( |
| filter_for_expense | Filter For Expense | boolean | added by Expenses ( |
| friday_location_id | Friday | many2one | added by Remote Work ( |
| has_badges | Has Badges | boolean | computed added by HR Gamification ( |
| has_subscribed_courses | Has Subscribed Courses | boolean | related: added by Skills e-learning ( |
| has_timesheet | Has Timesheet | boolean | related: added by Task Logs ( |
| hours_last_month | Hours Last Month | float | related: added by Attendances ( |
| hours_last_month_overtime | Hours Last Month Overtime | float | related: added by Attendances ( |
| hours_today | Hours Today | float | read-only related: added by Attendances ( |
| hr_icon_display | Hr Icon Display | selection | computed Values computed at runtime |
| hr_presence_state | Hr Presence State | selection | computed Values: |
| hr_presence_state_display | Hr Presence State Display | selection | Values: added by Employee Presence Control ( |
| im_status | Im Status | char | related: |
| image_1024 | Image 1024 | image | related: |
| image_128 | Image 128 | image | related: |
| image_1920 | Image | image | related: |
| image_256 | Image 256 | image | related: |
| image_512 | Image 512 | image | related: |
| ip_connected | Ip Connected | boolean | added by Employee Presence Control ( |
| is_absent | Absent Today | boolean | computed added by Time Off ( |
| is_manager | Is Manager | boolean | computed |
| is_subordinate | Is Subordinate | boolean | related: added by HR Org Chart ( |
| is_user | Is User | boolean | computed |
| job_id | Job | many2one→ hr.job | read-only |
| job_title | Job Title | char | related: |
| last_activity | Last Activity | date | computed |
| last_activity_time | Last Activity Time | char | computed |
| last_attendance_id | Last Attendance | many2one | read-only related: added by Attendances ( |
| last_check_in | Last Check In | datetime | related: added by Attendances ( |
| last_check_out | Last Check Out | datetime | related: added by Attendances ( |
| leave_date_to | To Date | date | computed added by Time Off ( |
| leave_manager_id | Time Off Approver Select the user responsible for approving "Time Off" of this employee. If empty, the approval is done by an Administrator or Approver (determined in settings/users). | many2one | computed, stored added by Time Off ( |
| manually_set_presence | Manually Set Presence | boolean | added by Employee Presence Control ( |
| manually_set_present | Manually Set Present | boolean | added by Employee Presence Control ( |
| member_of_department | Member Of Department | boolean | computed |
| mobile_phone | Mobile Phone | char | read-only |
| mobility_card | Mobility Card | char | read-only added by Fleet History ( |
| monday_location_id | Monday | many2one | added by Remote Work ( |
| name | Name | char | read-only |
| newly_hired | Newly Hired | boolean | computed |
| parent_id | Manager | many2one | read-only |
| phone | Phone | char | related: |
| resource_calendar_id | Resource Calendar | many2one | read-only |
| resource_id | Resource | many2one | read-only |
| resume_line_ids | Resume lines | one2many | inverse: added by Skills Management ( |
| saturday_location_id | Saturday | many2one | added by Remote Work ( |
| share | Share | boolean | related: |
| show_hr_icon_display | Show Hr Icon Display | boolean | computed |
| show_leaves | Able to see Remaining Time Off | boolean | computed added by Time Off ( |
| subordinate_ids | Subordinate | one2many | related: added by HR Org Chart ( |
| sunday_location_id | Sunday | many2one | added by Remote Work ( |
| thursday_location_id | Thursday | many2one | added by Remote Work ( |
| today_location_name | Today Location Name | char | added by Remote Work ( |
| total_overtime | Total Overtime | float | read-only related: added by Attendances ( |
| tuesday_location_id | Tuesday | many2one | added by Remote Work ( |
| tz | Tz | selection | related: |
| user_id | User | many2one | read-only |
| user_partner_id | User's partner | many2one | related: |
| wednesday_location_id | Wednesday | many2one | added by Remote Work ( |
| work_contact_id | Work Contact | many2one | read-only |
| work_email | Work Email | char | read-only |
| work_location_id | Work Location | many2one | read-only |
| work_location_name | Work Location Name | char | related: |
| work_location_type | Work Location Type | selection | related: |
| work_phone | Work Phone | char | read-only |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- gamification.badge.user: badge_ids
- hr.attendance: last_attendance_id
- hr.department: department_id
- hr.employee: employee_id, subordinate_ids
- hr.employee.public: child_ids, coach_id, parent_id
- hr.employee.skill: certification_ids, current_employee_skill_ids, employee_skill_ids
- hr.job: job_id
- hr.resume.line: resume_line_ids
- hr.work.location: friday_location_id, monday_location_id, saturday_location_id, sunday_location_id, thursday_location_id, tuesday_location_id, wednesday_location_id, work_location_id
- res.company: company_id
- res.partner: address_id, user_partner_id, work_contact_id
- res.users: attendance_manager_id, expense_manager_id, leave_manager_id, user_id
- resource.calendar: resource_calendar_id
- resource.resource: resource_id
Fields of other models pointing here
- hr.employee.public: coach_id, parent_id
Reading this model through the API
Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/hr.employee.public/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","address_id","attendance_manager_id","coach_id","company_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/hr.employee.public/search_read",
headers=headers,
json={"domain": [], "fields": ["name","address_id","attendance_manager_id","coach_id","company_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/hr-employee-public">hr.employee.public (Odoo 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.