# Models and fields

Consultations defines 12 model(s) and 78 field(s) on Jaah 19.0. This page lists every model the app creates or extends and the purpose of each field. Generated from the installed database on 2026-10-14 for version 19.0.1.0.28.

**Consultations defines 12 model(s) and 78 field(s) on Jaah 19.0. This page lists every model the app creates or extends and the purpose of each field. Generated from the installed database on 2026-10-14 for version 19.0.1.0.28.**

## Consulting (`j.consulting`) {#model-j-consulting}

Model. Defined by this app.

### Active (`active`) {#field-j-consulting-active}

Type: `boolean` · Stored · Tracked in the chatter

### Advice (`advice`) {#field-j-consulting-advice}

Type: `html` · Stored

### Approve Date (`approve_date`) {#field-j-consulting-approve-date}

Type: `datetime` · Readonly · Stored

### Number of Attachments (`attachment_number`) {#field-j-consulting-attachment-number}

Type: `integer` · Readonly · Computed

### Client (`client_id`) {#field-j-consulting-client-id}

Type: `many2one` · Required · Stored · Relation: Contact (`res.partner`) · Tracked in the chatter

### Other Clients (`client_ids`) {#field-j-consulting-client-ids}

Type: `many2many` · Stored · Relation: Contact (`res.partner`) · Tracked in the chatter

### Origin Request (`client_request_id`) {#field-j-consulting-client-request-id}

Type: `many2one` · Readonly · Stored · Relation: Legal Client Request (`j.legal.client.request`) · Tracked in the chatter

> Originating portal request.

### Branch (`company_id`) {#field-j-consulting-company-id}

Type: `many2one` · Required · Readonly · Stored · Relation: Companies (`res.company`)

### Created on (`create_date`) {#field-j-consulting-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-consulting-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Deadline (`deadline_date`) {#field-j-consulting-deadline-date}

Type: `date` · Required · Stored · Tracked in the chatter

### Done Date (`done_date`) {#field-j-consulting-done-date}

Type: `datetime` · Readonly · Stored

### Inquiry (`inquiry`) {#field-j-consulting-inquiry}

Type: `html` · Stored

### Lawyers (`lawyer_ids`) {#field-j-consulting-lawyer-ids}

Type: `many2many` · Required · Stored · Relation: Lawyer (`j.lawyer`) · Tracked in the chatter

### Managed Followers (`managed_follower_ids`) {#field-j-consulting-managed-follower-ids}

Type: `many2many` · Stored · Relation: Contact (`res.partner`)

> Internal: partners auto-subscribed because of the client / lawyer links. Used so resyncs do not drop manually-added followers.

### Sequence (`name`) {#field-j-consulting-name}

Type: `char` · Required · Readonly · Stored

### Oppositions (`opposition_ids`) {#field-j-consulting-opposition-ids}

Type: `many2many` · Stored · Relation: Contact (`res.partner`) · Tracked in the chatter

### Privacy Visibility (`privacy_visibility`) {#field-j-consulting-privacy-visibility}

Type: `selection` · Stored · Values: Invited Employees (`followers`), All employees (`employees`), Invited portal users and all employees (`portal`), Invited portal users and Invited Employees (`invited`)

> Who can see this consulting: - Invited Employees: only internal users who are followers (typically the assigned lawyers). - All employees: any internal user in the firm. - Invited portal users and all employees: the client (auto-followed) sees it through the portal, plus all internal users. - Invited portal users and Invited Employees: only followers see it, including portal followers — use for sensitive consultings.

### Reject Date (`reject_date`) {#field-j-consulting-reject-date}

Type: `datetime` · Readonly · Stored

### Reject Reason (`reject_reason_id`) {#field-j-consulting-reject-reason-id}

Type: `many2one` · Stored · Relation: Consulting Reject Reason (`j.consulting.reject.reason`) · Tracked in the chatter

### Response (`response`) {#field-j-consulting-response}

Type: `html` · Stored

### Source (`source_id`) {#field-j-consulting-source-id}

Type: `char` · Readonly · Stored

> Origin reference for reports.

### Multi Clients (`stakeholders_check`) {#field-j-consulting-stakeholders-check}

Type: `boolean` · Readonly · Computed · Related to: `company_id.stakeholders_check`

> Enable multiple clients per record.

### State (`state`) {#field-j-consulting-state}

Type: `selection` · Readonly · Stored · Values: Draft (`draft`), Approved (`approved`), Late (`late`), Done (`done`), Rejected (`reject`) · Tracked in the chatter

### Subject (`subject`) {#field-j-consulting-subject}

Type: `char` · Stored · Tracked in the chatter

### Third Parties (`third_party_ids`) {#field-j-consulting-third-party-ids}

Type: `many2many` · Stored · Relation: Contact (`res.partner`) · Tracked in the chatter

### Responsible (`user_id`) {#field-j-consulting-user-id}

Type: `many2one` · Stored · Relation: User (`res.users`)

> Used as the activity / mail-template default owner.

### Last Updated on (`write_date`) {#field-j-consulting-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-consulting-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Consulting Reject Reason (`j.consulting.reject.reason`) {#model-j-consulting-reject-reason}

Model. Defined by this app.

### Branch (`company_id`) {#field-j-consulting-reject-reason-company-id}

Type: `many2one` · Stored · Relation: Companies (`res.company`) · Tracked in the chatter

### Rejected Consultations Count (`consulting_count`) {#field-j-consulting-reject-reason-consulting-count}

Type: `integer` · Readonly · Computed

### Rejected Consultations (`consulting_ids`) {#field-j-consulting-reject-reason-consulting-ids}

Type: `one2many` · Stored · Relation: Consulting (`j.consulting`)

### Created on (`create_date`) {#field-j-consulting-reject-reason-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-consulting-reject-reason-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Description (`description`) {#field-j-consulting-reject-reason-description}

Type: `char` · Stored · Translatable · Tracked in the chatter

### Reason (`name`) {#field-j-consulting-reject-reason-name}

Type: `char` · Required · Stored · Translatable · Tracked in the chatter

### Last Updated on (`write_date`) {#field-j-consulting-reject-reason-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-consulting-reject-reason-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Consulting Reject Wizard (`j.consulting.reject.wizard`) {#model-j-consulting-reject-wizard}

Wizard (transient). Defined by this app.

### Consulting (`consulting_id`) {#field-j-consulting-reject-wizard-consulting-id}

Type: `many2one` · Required · Stored · Relation: Consulting (`j.consulting`)

### Created on (`create_date`) {#field-j-consulting-reject-wizard-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-consulting-reject-wizard-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Reject Reason (`reject_reason_id`) {#field-j-consulting-reject-wizard-reject-reason-id}

Type: `many2one` · Required · Stored · Relation: Consulting Reject Reason (`j.consulting.reject.reason`)

### Last Updated on (`write_date`) {#field-j-consulting-reject-wizard-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-consulting-reject-wizard-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Consulting State Tag (filter helper) (`j.consulting.state.tag`) {#model-j-consulting-state-tag}

Model. Defined by this app.

### Code (`code`) {#field-j-consulting-state-tag-code}

Type: `char` · Required · Stored

> Technical state code.

### Created on (`create_date`) {#field-j-consulting-state-tag-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-consulting-state-tag-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Name (`name`) {#field-j-consulting-state-tag-name}

Type: `char` · Required · Stored · Translatable

### Sequence (`sequence`) {#field-j-consulting-state-tag-sequence}

Type: `integer` · Stored

### Last Updated on (`write_date`) {#field-j-consulting-state-tag-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-consulting-state-tag-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Lawyer (`j.lawyer`) {#model-j-lawyer}

Model. Defined by `j_law_base`; extended by this app.

### Consulting Count (`consulting_count`) {#field-j-lawyer-consulting-count}

Type: `integer` · Readonly · Computed

### Consultations (`consulting_ids`) {#field-j-lawyer-consulting-ids}

Type: `many2many` · Readonly · Relation: Consulting (`j.consulting`) · Computed

## Legal Client Request (`j.legal.client.request`) {#model-j-legal-client-request}

Model. Defined by `j_law_base`; extended by this app.

### Consulting Count (`consulting_count`) {#field-j-legal-client-request-consulting-count}

Type: `integer` · Readonly · Computed

### Consultations (`consulting_ids`) {#field-j-legal-client-request-consulting-ids}

Type: `one2many` · Stored · Relation: Consulting (`j.consulting`)

### Type (`type`) {#field-j-legal-client-request-type}

Type: `selection` · Required · Stored · Values: Consulting (`consulting`) · Tracked in the chatter

## List Report Wizard (`j.list.report.wizard`) {#model-j-list-report-wizard}

Wizard (transient). Defined by `j_law_base`; extended by this app.

### Consulting States (`consulting_state_ids`) {#field-j-list-report-wizard-consulting-state-ids}

Type: `many2many` · Stored · Relation: Consulting State Tag (filter helper) (`j.consulting.state.tag`)

### Type (`type`) {#field-j-list-report-wizard-type}

Type: `selection` · Required · Stored · Values: Consultings (`consultings`)

## Neglected Report Wizard (`j.neglected.report.wizard`) {#model-j-neglected-report-wizard}

Wizard (transient). Defined by `j_law_base`; extended by this app.

### Consulting States (`consulting_state_ids`) {#field-j-neglected-report-wizard-consulting-state-ids}

Type: `many2many` · Stored · Relation: Consulting State Tag (filter helper) (`j.consulting.state.tag`)

### Type (`type`) {#field-j-neglected-report-wizard-type}

Type: `selection` · Required · Stored · Values: Consultings (`consultings`)

## Activity (`mail.activity`) {#model-mail-activity}

Model. Defined by `mail`; extended by this app.

### Consulting Activity (`consulting_activity`) {#field-mail-activity-consulting-activity}

Type: `boolean` · Stored

> Flagged on the 'Approve / Reject Consulting' activity. Auto-closed when the consulting is approved, rejected, or moved back to draft.

### Termination Activity (`termination_activity`) {#field-mail-activity-termination-activity}

Type: `boolean` · Stored

> Flagged on the 'Drafting the Consultation' activity. Auto-closed when the consulting is marked done.

## Companies (`res.company`) {#model-res-company}

Model. Defined by `base`; extended by this app.

### Approve / Reject Consulting Activity (`approve_reject_consulting_activity`) {#field-res-company-approve-reject-consulting-activity}

Type: `boolean` · Stored

> If enabled, an Approve / Reject review activity is auto-scheduled on every new consulting for each assigned lawyer.

### Draft Within (`consulting_drafting_days`) {#field-res-company-consulting-drafting-days}

Type: `integer` · Stored

> Days from approval when the 'Drafting the Consultation' activity falls due for the assigned lawyer(s).

### Approve Within (`consulting_review_days`) {#field-res-company-consulting-review-days}

Type: `integer` · Stored

> Days from consulting creation when the Approve / Reject review activity falls due for the assigned lawyer(s).

### Drafting Consulting Activity (`draft_consulting_activity`) {#field-res-company-draft-consulting-activity}

Type: `boolean` · Stored

> If enabled, a Drafting follow-up activity fires for each assigned lawyer when the consulting is approved.

### Client (`pdf_consulting_client`) {#field-res-company-pdf-consulting-client}

Type: `boolean` · Stored

### Create Date (`pdf_consulting_create_date`) {#field-res-company-pdf-consulting-create-date}

Type: `boolean` · Stored

### Deadline (`pdf_consulting_deadline`) {#field-res-company-pdf-consulting-deadline}

Type: `boolean` · Stored

### Lawyers (`pdf_consulting_lawyers`) {#field-res-company-pdf-consulting-lawyers}

Type: `boolean` · Stored

### Sequence (`pdf_consulting_name`) {#field-res-company-pdf-consulting-name}

Type: `boolean` · Stored

### State (`pdf_consulting_state`) {#field-res-company-pdf-consulting-state}

Type: `boolean` · Stored

### Subject (`pdf_consulting_subject`) {#field-res-company-pdf-consulting-subject}

Type: `boolean` · Stored

## Config Settings (`res.config.settings`) {#model-res-config-settings}

Wizard (transient). Defined by `base`; extended by this app.

### Approve / Reject Consulting Activity (`approve_reject_consulting_activity`) {#field-res-config-settings-approve-reject-consulting-activity}

Type: `boolean` · Computed · Related to: `company_id.approve_reject_consulting_activity`

> If enabled, an Approve / Reject review activity is auto-scheduled on every new consulting for each assigned lawyer.

### Draft Within (`consulting_drafting_days`) {#field-res-config-settings-consulting-drafting-days}

Type: `integer` · Computed · Related to: `company_id.consulting_drafting_days`

> Days from approval when the 'Drafting the Consultation' activity falls due for the assigned lawyer(s).

### Approve Within (`consulting_review_days`) {#field-res-config-settings-consulting-review-days}

Type: `integer` · Computed · Related to: `company_id.consulting_review_days`

> Days from consulting creation when the Approve / Reject review activity falls due for the assigned lawyer(s).

### Drafting Consulting Activity (`draft_consulting_activity`) {#field-res-config-settings-draft-consulting-activity}

Type: `boolean` · Computed · Related to: `company_id.draft_consulting_activity`

> If enabled, a Drafting follow-up activity fires for each assigned lawyer when the consulting is approved.

## Contact (`res.partner`) {#model-res-partner}

Model. Defined by `base`; extended by this app.

### Consulting Count (`consulting_count`) {#field-res-partner-consulting-count}

Type: `integer` · Readonly · Computed

---

- Source: https://jaah.app/docs/law-consulting/models-and-fields
- Updated: 2026-10-13
- Version: Consultations 19.0.1.0.28
