Dynamic Parenting

Dynamic Parenting is a feature in FieldFX that is a configuration approach letting users control which child record is associated with a parent record. This is based on context or rules instead of always using a fixed, hard-coded relationship.

Table 1. Standard vs Dynamic Parenting
Standard Parenting Dynamic Parenting

Related objects (child records) are tied to a specific parent object by design.

  • Example: A Ticket Item always belongs to a Ticket.

The relationship is static where every ticket item you create gets linked to that single ticket.

The parent of a record isn’t fixed and is dynamically determined by FieldFX logic, depending on where the record is created or how it’s used.

  • Example: Job Resources such as equipment, crews, or assigned people, can be children of different parent records. A resource could be created from the job or from a ticket. FieldFX dynamically determines which parent is linked to the resource.

Using dynamic parenting allows a child object (job resources, ticket items, or notes) to move up or roll up under different levels of the hierarchy with no data duplication.

How Dynamic Parenting Works

FieldFX Hierarchy Awareness

FieldFX understands this hierarchy:

Quote → Job → Ticket → Ticket Item

A child can be associated at multiple levels in this tree depending on the context.

Dynamic Linking

In creating a child record within a job, ticket, or ticket items, FieldFX dynamically sets the parent to the level the user is working on.

Adding from Level Links to

Job Resource from Job

Job

Job Resource from a Ticket

Ticket

Job Resource from a Ticket Item

Ticket Item

Job Resource Bundle from Job

Job (entire bundle — parent and all children)

Job Resource Bundle from a Ticket

Ticket (entire bundle — parent and all children)

Job Resource Bundle from a Ticket Item

Ticket Item (entire bundle — parent and all children)

Rules or Configuration

In the Admin setup, objects can be configured to use dynamic parenting.

For Example: Notes might attach to a Ticket, Ticket Item, or even a Job. Job Resources can belong at the Job or Ticket level.

User Experience

When a child record is created, FieldFX automatically determines the correct parent or gives the user a choice. This depends on how the user had navigated to the record.

Benefits

  • Dynamic Parenting is flexible, so there is no need to create duplicate records

  • A single child can be associated with the most relevant parent resulting in cleaner data

Users no longer need to worry about "where" something belongs. The system assigns the correct parent automatically to keep reporting and rollups clean.

Table 2. Back Office and FieldFX Mobile App Key Differences
Back Office FieldFX Mobile App

Features

Reduces clicks and ensures consistent data entry across Jobs, Tickets, and Ticket Items.

Simplified field user workflow so they can add notes, attachments, or resources and not worry about the hierarchy.

Crews don’t waste time hunting for the correct record. FieldFX knows where to put the record keep the field work simple, but reporting back to the office stays precise.

Examples

  • A scheduler opens a job and adds a Job Resource. The system links the resource to the job

  • A scheduler opens a Ticket and adds the same resource type, it’s automatically linked at the Ticket level

  • A field user captures a photo of damaged equipment while they are in a Ticket Item. The photo is automatically linked to the Ticket Item

  • If a field user adds a safety note at the Job level, the note rolls down through the Tickets for visibility

Why Use It

  • Efficiency: Users don’t have to remember which level a record belongs to

  • Accuracy: Data is correctly linked to the right level of detail

  • Visibility: Managers can see both granular details and high-level rollups in dashboards and reports

  • Field users don’t think in object models (Job vs Ticket vs Ticket Item), they just need to record work

  • The burden is removed from them and ensures data lands in the right place

  • Errors are prevented (like the wrong photo attached to the wrong record) saving time in the field

Dynamic Parenting can be applied to certain child objects like Notes, Attachments, Job Resources, and DataGuide Forms (ServiceMax DataGuide must be installed and configured for the org) where flexibility is needed to attach to different Job, Ticket, or Ticket Item parents in the hierarchy.

Table 3. Dynamic Parenting Use Matrix
Object Type Job Level Ticket Level Ticket Item
Level

Notes

Yes

Yes

Yes

Attachments

Yes

Yes

Yes

Job Resources

Yes

Yes

Yes

DataGuide / eForms

ServiceMax DataGuide must be installed and configured for the org to use DataGuide functions.

Yes

Yes

Yes

Ticket Items

No

Yes

N/A

Tickets

No

Yes

No

Job Resources supports bundling at all three levels (Job, Ticket, Ticket Item). When a Job Resource has a Price Book Item with FX5__Enable_Dynamic_Parenting__c = true, it becomes a bundle parent. See Job Resource Bundles for details on bundle creation, status behavior, and delivery ticket rules.

Use in Back Office

Dynamic Parenting in Back Office emphasizes data entry flexibility and reporting clarity.

Notes, Attachments, and Resources can be created from either Job, Ticket, or Ticket Item object pages.

When a user adds a record, FieldFX dynamically links the record to the object without the user needing to manually set a parent field.

Back Office users can add notes
and attachments anywhere in the hierarchy.

  • When a dispatcher, scheduler, or admin creates a note or uploads an attachment:

    • If looking at a Job, the record is linked to the Job

    • If inside a Ticket, the record is linked to the Ticket they are looking at

    • If drilling down to a Ticket Item, the link is made at that level

  • They don’t have to manually set the parent field, FieldFX assigns it automatically

Job Resource assignment at different levels.

  • A scheduler could add a crew, equipment, or person:

    • Directly to a job if it covers the entire project

    • To a specific ticket if resources vary by task or day

    • At the ticket item level if one line of work requires unique resources

  • Dynamic Parenting ensures the resource attaches correctly wherever it’s entered

Forms and Compliance Management

  • eForms (for DataGuide) launched at different levels

    • A Job Safety Audit (JSA) form at the Job level links to the job

    • A Daily Work Log at the Ticket level links to that Ticket

    • A Checklist at the Ticket Item level attaches to that Ticket Item

  • This is critical for reporting since safety data and compliance records can roll up to the Job for auditing

Reporting and Rollups

Since back office users have flexibility to attach records, reports can:

  • Roll up from the Ticket Item → Ticket → Job without manual re-linking

  • Give managers a single Job-level view while preserving detail at lower levels

Job Resource Bundle assignment and Delivery Tickets

  • When adding a parent-child Job Resource Bundle, the entire bundle attaches at the level where it is entered (Job, Ticket, or Ticket Item)

  • Bundles cannot be split across multiple Delivery Tickets. The bundle must be added to a Delivery Ticket as a whole

  • When generating a Delivery Ticket from a bundle:

    • The Create Delivery Ticket dialog displays only the parent item. Child items are automatically included and do not appear individually in the dialog.

    • Labor and Service job resources in the bundle are excluded from the Delivery Ticket

    • Created Ticket Items on the Delivery Ticket maintain Job Resource links for both the parent and all child items

  • The quantity of a parent Job Resource (where FX5Enable_Dynamic_Parentingc = true) cannot be changed from 1

Job Resource Bundles

A Job Resource Bundle is a parent job resource linked to one or more child job resources. Bundles let users group related resources (equipment, labor, consumables) into a single unit that moves through the hierarchy together.

What Makes a Bundle Parent

A job resource becomes a bundle parent when its associated Price Book Item (PBI) has the field FX5__Enable_Dynamic_Parenting__c set to true. When this checkbox is enabled, the job resource acts as the parent and any linked job resources become its children.

Creating Bundles

Bundles can be created in the following ways:

From a Price Book

When adding a bundle from a Price Book where the PBI has a quantity of n, the system creates n separate job resource bundles, each with its associated child items.

Example: If the Price Book Item "Pump Kit" has quantity = 3, three separate Pump Kit bundles are created on the job, each containing the full set of child resources.

From a Quote Item

The same quantity-based creation applies when adding bundles from a Quote Item. A Quote Item with quantity = n produces n bundles.

On the Job Resource Grid

Users can dynamically bundle or modify a bundle when it is in the job resource table by adding or removing child items.

Bundle Rules and Restrictions

Table 4. Bundle Rules and Restrictions

Parent Quantity

The quantity of a parent job resource cannot be changed from 1. Only items where FX5__Enable_Dynamic_Parenting__c = true have this restriction. To add more bundles, add them from the Price Book or Quote with the desired quantity.

Bundle Integrity

A bundle can only be added to a delivery ticket as a whole (parent and all children). Users cannot split a bundle across multiple delivery tickets.

Serialized Assets and Consumables

If the Price Book Item or Quote Item bundle contains a serialized asset or serialized consumable with a quantity greater than 1, the system will not create separate child items for each serialized asset or consumable.

The serialized asset and consumable limitation means that bundles containing serialized items with quantity > 1 will not produce individual child records per serial number. Plan bundle configurations accordingly.

Bundle Status Behavior

The status behavior of child job resources depends on the Item Type of the parent.

Table 5. Bundle Status by Parent Item Type
Parent Item Type Parent Status on Add Child Status on Add

Service or Labor

On Site

All children set to On Site automatically, regardless of each child’s own Item Type.

Equipment or other non-Service/Labor types

New

Child items with Item Type = Labor or Service are set to On Site. All other child items are set to New. When a Delivery Ticket is created, all items transition to In Transit.

This status inheritance applies to all child items in the bundle, regardless of the child’s own Item Type. For example, if the parent is Labor, a child Equipment item is also set to On Site immediately.

Use in FieldFX Mobile App

Dynamic Parenting ensures field users can work naturally at whatever level they are on.

Field users usually work at the Ticket or Ticket Item level. With Dynamic Parenting, they can:

  • Create Notes that attach to the current Ticket or Ticket Item

  • Add attachments (photos, PDFs, etc.) that link automatically link to the right record

  • Create Job Resources at the level they are working at so they don’t have to navigate back up and to the job

Table 6. How Field Users could utilize Dynamic Parenting
Feature Information

Capture Photos and Attachments in Context

  • Field techs take photos of equipment, work performed, or site conditions

  • Dynamic Parenting ensures,

    • Ticket Item - the photo is linked to that item

    • Ticket - it’s linked to the Ticket

  • No extra steps needed since the system knows where to parent the photo. This results in back office seeing the picture tied to the exact line of work.

Log Notes at the Right Level

  • Techs can quickly enter observations, job progress, or shift notes

  • No matter if they’re in a Job, Ticket, or Ticket Item, the Note automatically attaches to that level

    • The confusion of was the note for the whole job or just the one line item is avoided

Completing eForms (DataGuide)

This is only valid if DataGuide is installed in the org.

  • Safety checklists, job hazard analyses (JHAs), and other compliance forms are often eForms done in the field

  • With Dynamic Parenting, the form is attached to the correct level:

    • Job level - general safety form for the whole site

    • Ticket level - daily log for that work order

    • [#inspect-qa-form-task]]Ticket Item level - inspection or QA form for one specific task

These eForms may not exist in your org, they are only examples.

Assign or Update Job Resources

  • Field supervisors may add crew members or equipment directly from their devices

  • These resources are linked to the Job, Ticket, or Ticket Item

    • Scheduling is kept accurate without back office intervention

Job Resource Bundles added from the mobile app follow the same bundle integrity rules. The bundle’s parent-child relationship and status behavior remain consistent between Back Office and Mobile. Service and Labor parent bundles immediately set all child resources to On Site.

Seamless Roll-Up

  • All the user needs to be concerned with is just adding a note or uploading a photo from where they’re working

  • These records automatically roll up properly for back office reporting

    • Manager see full context at the Job level without losing detail