Step 1 of 10
Language & Filing Type
Select your language preference and how you are completing this application.
Language Preference
Who is Completing This Application?
Select Option 1 for self-represented applicants. Option 3 is for paralegals or agents filing on behalf of someone else.
Step 2 of 10
Applicant Information
Your personal and contact details as the applicant.
Name
Pronouns
Contact
Address
Step 3 of 10
Representative
If you have a legal representative, provide their details here.
Type of Representative
Law Society Number
Leave blank if self-represented (Option 1 on Step 1). Representative contact fields reuse the shared txtFirstName, txtLastName, and txtEmail XFA nodes.
Step 4 of 10
Respondent Information
Details about the person or organization you are filing against.
Respondent Type
Organization Details
Additional Respondents
In the XFA form, additional respondents use a repeating group. The flat JSON sets all matching tag names globally. For multiple respondents with different data, use the Python fill script with path-based targeting.
Step 5 of 10
Area of Discrimination & Location
Identify the social area, location, and dates of the discrimination.
Social Area
Location & Dates
Step 6 of 10
Protected Grounds
Select the grounds of discrimination under the Ontario Human Rights Code.
Grounds (Section 5 of the Code)
Step 7 of 10
Facts & Narrative
Describe what happened and why you believe it was discriminatory.
What Happened?
Maximum 1,000 characters. For longer narratives, reference “See attached Schedule A” in this field and attach a separate document.
Late Filing Explanation
Step 8 of 10
Detailed Ground Questions
Additional details for each selected ground. The txtAnswer field is shared across all ground-specific sub-questions in the XFA (1000 chars each).
In the XFA PDF, each ground sub-section (Disability, Reprisal, etc.) has its own txtAnswer node. Since the flat JSON maps set all txtAnswer nodes to the same value, use a comprehensive combined narrative here. For ground-specific answers, use the Python script with path-based XML editing.
Disability Details (if applicable)
Dates Off Work (Disability)
Reprisal Details (if applicable)
Step 9 of 10
Other Proceedings & Remedies
Other legal proceedings and the remedies you are seeking.
Other Proceedings
Remedies Sought
Mediation
Step 10 of 10
Review & Export
Review all values, sign, and export JSON for the XFA pipeline.
Declaration
Summary
Field NameValue
JSON Output

Pipeline A: XFA SmartForm — Fill & Open PDF

169 fields — fills the official HRTO SmartForm PDF (all fields including name, what happened, remedies, grounds).
  1. Download the JSON above and save as
    Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_values.json
  2. Run the fill script (WSL):
    python3 Dare_v_Rod_HRTO_Case/03_Forms/_Tools/fill_form1_xfa_from_json.py \
      --pdf "Dare_v_Rod_HRTO_Case/06_HRTO_Information/Blank_Forms/Form 1 - apply.pdf" \
      --values-json "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_values.json" \
      --limits-csv "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_field_limits.csv" \
      --out-xml "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_filled.xml" \
      --out-pdf "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_filled.pdf"
  3. Open the filled PDF directly in Adobe Acrobat Reader:
    C:\rod_hub\personal\case-files\rod_case_master\03_Forms\_Metadata\FORM1_filled.pdf
    The --out-pdf flag injects XFA data directly into the PDF — no manual Import Data step needed. If Adobe shows a blank form, use the XML fallback: open the blank PDF and File → Import Data → select FORM1_filled.xml.

Pipeline B: AcroForm — Direct PDF Fill

66 fields — fills the AcroForm-converted PDF (address, pronoun, case profile, declaration fields). Generates XFDF for Adobe import.
  1. Download JSON → convert to AcroForm payload → fill PDF (3-step pipeline):
    # Step 1: Convert wizard JSON to AcroForm payload
    python3 Dare_v_Rod_HRTO_Case/03_Forms/_Tools/wizard_to_acroform.py \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_values.json" \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_acroform_payload.json"

    # Step 2: Fill AcroForm PDF
    python3 Dare_v_Rod_HRTO_Case/03_Forms/_Tools/fill_pdf.py \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Tools/AcroForm/HRTO-Form1-APPLY-ACROFORM.pdf" \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_ACROFORM_filled.pdf" \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_acroform_payload.json"

    # Step 3 (optional): Generate XFDF for Adobe import
    python3 Dare_v_Rod_HRTO_Case/03_Forms/_Tools/json_to_xfdf.py \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_acroform_payload.json" \
      "Dare_v_Rod_HRTO_Case/03_Forms/_Metadata/FORM1_filled.xfdf"
  2. Open the filled AcroForm PDF:
    C:\rod_hub\personal\case-files\rod_case_master\03_Forms\_Metadata\FORM1_ACROFORM_filled.pdf
    XFDF import alternative: open the blank AcroForm PDF in Adobe, File → Import Data → select FORM1_filled.xfdf.
PRIVILEGED & CONFIDENTIAL — ATTORNEY-CLIENT WORK PRODUCT