Update Actual Route Point Times for a Service Trip

A ProcessEvents message with either a NotifyWorkExecutedEvent or NotifyWorkReconciledEvent node can be used to import and update actual route point times for a service trip from an XML file.

Note: Words in coloured text refer to node names in the XML file. Words in bold refer to field names or data in MineMarket, or required text strings. Words in italics refer to field values in MineMarket.

Subscriber Name

The subscriber name must be NotifyWorkExecutedEvent or NotifyWorkReconciledEvent.

Class Name

The class names are BulkTrak.Integration.PublishSubscribe.B2MML_Classes.NotifyWorkExecutedEvent and BulkTrak.Integration.PublishSubscribe.B2MML_Classes.NotifyWorkReconciledEvent. Either class can be used; however, only the NotifyWorkReconciledEvent can process multiple times in the one file.

XML Example

Copy
<?xml version="1.0" encoding="UTF-8"?>
<p:NotifyWorkExecutedEvent xmlns:p="http://www.mesa.org/xml/B2MML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <p:ApplicationArea>
    <p:Sender>
      <p:LogicalID>BMS</p:LogicalID>
      <p:ComponentID>PTGM1</p:ComponentID>
    </p:Sender>
    <p:CreationDateTime>2022-10-13T04:58:36Z</p:CreationDateTime>
  </p:ApplicationArea>
  <p:DataArea>
    <p:Notify />
    <p:WorkExecutedEvent>
      <p:AddedJobResponseRecord effectiveTimestamp="2022-10-13T04:43:00Z" recordTimestamp="2022-10-13T04:58:36Z">
        <p:JobResponse>
          <p:ID>b1c23776-4ab3-11ed-8691-dca6322ada9f</p:ID>
          <p:EndTime>2022-10-13T04:43:00Z</p:EndTime>
          <p:WorkMasterID>Direct Barge Loading</p:WorkMasterID>
          <p:WorkflowSpecificationID>Barge Transport</p:WorkflowSpecificationID>
          <p:WorkflowSpecificationNodeID>Awaiting Barge Loader Positioning</p:WorkflowSpecificationNodeID>
          <p:EquipmentActual>
            <p:ID/>
            <p:EquipmentID>BargeServiceTripAlias1</p:EquipmentID>
            <p:EquipmentUse>Used</p:EquipmentUse>
            <p:HierarchyScope>
              <p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
              <p:EquipmentLevel>Enterprise</p:EquipmentLevel>
              <p:HierarchyScopeChild>
                <p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
                <p:EquipmentLevel>Site</p:EquipmentLevel>
                <p:HierarchyScopeChild>
                  <p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
                  <p:EquipmentLevel>Area</p:EquipmentLevel>
                </p:HierarchyScopeChild>
              </p:HierarchyScopeChild>
            </p:HierarchyScope>
            <p:OperationalLocation>
              <p:Location>Barge Load Out</p:Location>
              <p:LocationType>Operational Location</p:LocationType>
            </p:OperationalLocation>
            <p:EquipmentActualProperty>
              <p:ID>Physical Barge Name</p:ID>
              <p:Value>
                <p:ValueString>BargeAlias1</p:ValueString>
              </p:Value>
            </p:EquipmentActualProperty>
          </p:EquipmentActual>
        </p:JobResponse>
      </p:AddedJobResponseRecord>
    </p:WorkExecutedEvent>
  </p:DataArea>
</p:NotifyWorkExecutedEvent>

XML Nodes

Node and Path

Notes

ApplicationArea » CreationDateTime

If AddedJobResponseRecord does not include a timestamp, this time is saved in an export mapping specific to the route point time on the service trip.

If AddedJobResponseRecord does include a timestamp, this time is ignored in processing.

Note: If used, the time must be later than existing data in MineMarket. If the time is earlier than the applicable export mapping on the service trip, no data is saved.

JobResponse » ID

A unique identifier that is generated automatically.

JobResponse » EndTime

The route point date and time.

JobResponse » WorkMasterID

A text string that may be "Direct Barge Loading".

JobResponse » WorkflowSpecificationID

A text string that must be "Barge Transport".

JobResponse » WorkflowSpecificationNodeID

A text string that determines the route point location for which the time is updated. See the table below.

JobResponse » EquipmentActual » EquipmentID

The Alias1 of an existing service trip.

JobResponse » EquipmentActual » HierarchyScope

Ignored in processing.

JobResponse » EquipmentActual » OperationalLocation

Ignored in processing.

JobResponse » EquipmentActual » EquipmentActualProperty » ValueString

The Alias1 of an existing barge.

Note: If this barge does not match the barge already assigned to the service trip, MineMarket updates the barge. If the service trip already has transactions, MineMarket assigns the transactions to the hold of the new barge.

Notes and Troubleshooting

This B2MML adaptor class requires a specific barge route with the following configuration:

  • First route point—Loading type set to Loading Only.
  • Second route point—Loading type set to Unloading Only.

The actual time that is updated depends on the value of the WorkflowSpecificationNodeID node.

WorkflowSpecificationNodeID Route Point Loading Type Time
Travel To Loading Point Loading Only ATA
Cast On Loading Only Berth Date
Awaiting Barge Loader Positioning Loading Only Start Loading
Loading Loading Only End Loading
Awaiting Loader Clearance Loading Only Unberth Date
Cast Off Loading Only ATD

Multiple JobResponse nodes (with their sub-nodes) can exist within the one file if more than one time is saved in MineMarket at the same time, but only if using the NotifyWorkReconciledEvent class.