Asset Work Network — network map
Generated by
python -m codegen.cli network-docs asset_workfromnetworks/asset_work/system.manifest.yamland the members' integration contracts — do not edit by hand; regenerate after changing either.
Members
| Member | Port | Role | Owns |
|---|---|---|---|
orchestrator_aw |
5125 | orchestrator — routes and delivers every message | — |
work_management |
5087 | domain work |
work.work_order, work.material_requirement, work.removed_component, work.installed_component, work.maintenance_template |
mwem |
5082 | domain work |
work.work_order, work.material_requirement, work.fixed_asset |
haul_road |
5124 | domain work |
work.work_order, work.material_requirement, work.road_segment, work.road_closure, work.road_defect |
scrm |
5085 | domain campaign |
campaign.campaign, campaign.scope_item, campaign.scope_change, campaign.readiness_snapshot, campaign.milestone |
msam |
5083 | domain materials |
inventory.reservation, inventory.goods_receipt |
psam |
5084 | domain purchasing |
purchasing.purchase_requirement, purchasing.purchase_order, purchasing.delivery_commitment |
fins |
5081 | domain finance |
finance.accounting_document, finance.posting_message |
Who sends what to whom
Solid arrows are events (publisher → subscriber). Dotted arrows are commands an application is allowed to send (listed in the receiving app accepted_from) — not necessarily traffic today; commands the orchestrator issues are listed in the catalogue only. Every message travels through the orchestrator, which is left out of the map to keep it readable.
flowchart LR
work_management["work_management"]
mwem["mwem"]
haul_road["haul_road"]
scrm["scrm"]
msam["msam"]
psam["psam"]
fins["fins"]
ext_asset["asset (not in the network yet)"]:::ext
ext_catalogue["catalogue (not in the network yet)"]:::ext
ext_classification["classification (not in the network yet)"]:::ext
ext_governance["governance (not in the network yet)"]:::ext
ext_lifecycle["lifecycle (not in the network yet)"]:::ext
ext_purchasing["purchasing (not in the network yet)"]:::ext
ext_warranty["warranty (not in the network yet)"]:::ext
ext_workforce["workforce (not in the network yet)"]:::ext
ext_asset -- "asset_group_reference_changed<br/>asset_reference_changed<br/>component_reference_changed" --> work_management
ext_catalogue -- "item_reference_changed" --> work_management
ext_classification -- "modifier_reference_changed<br/>smcs_reference_changed" --> work_management
ext_governance -- "obligation_assigned" --> work_management
ext_lifecycle -- "usage_metric_type_reference_changed" --> work_management
ext_purchasing -. "record_job_cost" .-> work_management
ext_warranty -- "candidate_detected" --> work_management
ext_workforce -- "employee_changed<br/>employee_left<br/>employee_registered<br/>trade_reference_changed" --> work_management
haul_road -. "post_journal" .-> fins
haul_road -. "change_reservation<br/>issue_to_work<br/>release_reservation<br/>return_from_work" .-> msam
haul_road -- "material_requirement_changed<br/>material_requirement_created" --> msam
haul_road -. "create_requirement" .-> psam
haul_road -- "material_requirement_changed<br/>material_requirement_created<br/>readiness_changed<br/>work_closed<br/>work_completed<br/>work_started<br/>work_suspended<br/>work_verified" --> scrm
msam -. "post_journal" .-> fins
msam -- "item_issued" --> fins
msam -- "item_issued<br/>item_reserved<br/>item_returned<br/>item_unavailable" --> haul_road
msam -- "item_issued<br/>item_reserved<br/>item_returned<br/>item_unavailable" --> mwem
msam -. "create_requirement" .-> psam
msam -- "item_unavailable<br/>receipt_accepted<br/>receipt_quarantined<br/>receipt_rejected" --> psam
msam -- "item_issued<br/>item_reserved<br/>item_unavailable" --> work_management
mwem -. "post_journal" .-> fins
mwem -. "change_reservation<br/>issue_to_work<br/>release_reservation<br/>return_from_work" .-> msam
mwem -. "create_requirement" .-> psam
psam -. "post_journal" .-> fins
psam -- "delivery_commitment_changed<br/>delivery_delayed<br/>requirement_created" --> haul_road
psam -- "delivery_commitment_changed<br/>delivery_delayed<br/>requirement_created" --> mwem
psam -- "delivery_commitment_changed<br/>delivery_delayed<br/>requirement_created" --> work_management
scrm -. "assign_campaign" .-> mwem
work_management -. "post_journal" .-> fins
work_management -. "change_reservation<br/>issue_to_work<br/>release_reservation<br/>return_from_work" .-> msam
work_management -. "create_requirement" .-> psam
classDef ext stroke-dasharray: 4 4,color:#888
Message catalogue
Events
| Event | Publisher | Subscribers | Payload |
|---|---|---|---|
asset.asset_group_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
asset.asset_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
asset.component_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
campaign.milestone_reached |
scrm 🔁 |
— | cid, campaign_cid, campaign_ref, milestone_type, planned_at, actual_at |
campaign.readiness_changed |
scrm 🔁 |
— | cid, campaign_cid, campaign_ref, captured_at, total_packages, ready_packages, blocked_packages, open_materials, open_procurement, open_contractors, overall_state, explanation |
campaign.scope_change_decided |
scrm 🔁 |
— | cid, campaign_cid, campaign_ref, scope_item_cid, decision, decided_at, decided_by |
campaign.scope_change_requested |
scrm 🔁 |
— | cid, campaign_cid, campaign_ref, scope_item_cid, reason, decision, requested_at |
campaign.scope_frozen |
scrm 🔁 |
— | cid, campaign_ref, title, planned_start, planned_finish, scope_freeze_at |
catalogue.item_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
classification.modifier_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
classification.smcs_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
finance.document_posted |
fins 🔁 |
— | cid, accounting_document_number, fiscal_year, company_code, document_type, source_system, source_record_type, source_record_cid, source_record_ref, work_order_cid, work_order_ref, work_system, total_amount, currency_code |
finance.posting_rejected |
fins 🔁 |
— | cid, message_sid, status, source_system, source_record_type, source_record_cid, source_record_ref, work_order_cid, work_order_ref, work_system, error_code, error_message, retryable |
governance.obligation_assigned |
(not in the network yet) | work_management ✅ |
— |
inventory.item_issued |
msam 🔁 |
fins ✅, haul_road ✅, mwem ✅, work_management ✅ |
cid, reservation_number, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, catalogue_item_cid, catalogue_item_ref, quantity_issued, unit_cost, issued_value, issued_at |
inventory.item_reserved |
msam 🔁 |
haul_road ✅, mwem ✅, work_management ✅ |
cid, reservation_number, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, catalogue_item_cid, catalogue_item_ref, quantity_reserved, required_by |
inventory.item_returned |
msam 🔁 |
haul_road ✅, mwem ✅ |
cid, reservation_number, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, catalogue_item_cid, catalogue_item_ref, quantity_returned, returned_value |
inventory.item_unavailable |
msam 🔁 |
haul_road ✅, mwem ✅, psam ✅, work_management ✅ |
cid, reservation_number, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, catalogue_item_cid, catalogue_item_ref, quantity_required, quantity_reserved, required_by |
inventory.receipt_accepted |
msam 🔁 |
psam ✅ |
cid, receipt_number, purchase_order_cid, purchase_order_ref, quantity_accepted, received_at |
inventory.receipt_quarantined |
msam 🔁 |
psam ✅ |
cid, receipt_number, purchase_order_cid, purchase_order_ref, quantity_held, received_at |
inventory.receipt_rejected |
msam 🔁 |
psam ✅ |
cid, receipt_number, purchase_order_cid, purchase_order_ref, quantity_rejected, received_at |
lifecycle.usage_metric_type_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
purchasing.delivery_commitment_changed |
psam 🔁 |
haul_road ✅, mwem ✅, work_management ✅ |
cid, revision_no, material_requirement_cid, material_requirement_ref, work_system, catalogue_item_cid, catalogue_item_ref, purchase_order_cid, purchase_order_ref, committed_quantity, committed_delivery_at, commitment_status, reason_code |
purchasing.delivery_delayed |
psam 🔁 |
haul_road ✅, mwem ✅, work_management ✅ |
cid, revision_no, material_requirement_cid, material_requirement_ref, work_system, purchase_order_cid, purchase_order_ref, supplier_cid, supplier_ref, committed_delivery_at, commitment_status, reason_code, reason |
purchasing.order_cancelled |
psam 🔁 |
— | cid, purchase_order_number, supplier_cid, material_requirement_cid, work_system |
purchasing.order_placed |
psam 🔁 |
— | cid, purchase_order_number, supplier_cid, supplier_ref, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, currency, committed_total |
purchasing.requirement_created |
psam 🔁 |
haul_road ✅, mwem ✅, work_management ✅ |
cid, requirement_number, material_requirement_cid, material_requirement_ref, work_order_cid, work_order_ref, work_system, catalogue_item_cid, catalogue_item_ref, quantity_required, required_by, requirement_status |
warranty.candidate_detected |
(not in the network yet) | work_management ✅ |
— |
work.component_installed |
work_management 🔁 |
— | cid, work_order_cid, work_order_ref, parent_asset_cid, parent_asset_ref, component_cid, component_ref, catalogue_item_cid, catalogue_item_ref, smcs_cid, smcs_ref, modifier_cid, modifier_ref, position_code, installed_at, main_smu_value, main_smu_unit, main_smu_metric_cid, main_smu_metric_ref, installed_by_name |
work.component_removed |
work_management 🔁 |
— | cid, work_order_cid, work_order_ref, parent_asset_cid, parent_asset_ref, component_asset_cid, component_asset_ref, catalogue_item_cid, catalogue_item_ref, serial_number_snapshot, removed_at, main_smu_value, main_smu_unit, main_smu_metric_cid, main_smu_metric_ref, removed_by_name, removal_usage_value, removal_usage_unit, removal_reason_code, failure_mode_code, disposition, warranty_review_required |
work.defect_recorded |
haul_road 🔁 |
— | cid, subject_cid, subject_ref, defect_type, severity, estimated_quantity, quantity_unit, status |
work.late_cost_recorded |
work_management 🔁 |
— | work_order_cid, work_order_ref, asset_cid, asset_ref, cost_type, source_type, source_ref, description, amount, currency, incurred_at |
work.maintenance_template_reference_changed |
work_management 🔁 · materiality |
— | cid, reference, previous_reference |
work.material_requirement_changed |
haul_road 🔁 |
msam ✅, scrm ✅ |
cid, requirement_number, work_order_cid, work_order_ref, requirement_status, inventory_reservation_cid, inventory_reservation_ref, purchase_requirement_cid, purchase_requirement_ref, expected_available_at, work_system |
work.material_requirement_created |
haul_road 🔁 |
msam ✅, scrm ✅ |
cid, requirement_number, work_order_cid, work_order_ref, catalogue_item_cid, catalogue_item_ref, quantity_required, unit_snapshot, required_by, critical_to_start, work_system |
work.readiness_changed |
haul_road 🔁 |
scrm ✅ |
work_order_cid, work_order_number, readiness_state, readiness_reason, work_system |
work.returned_to_service |
work_management 🔁 |
— | work_order_cid, work_order_number, asset_cid, asset_ref, operating_state, limitations, monitoring_until |
work.subject_closed |
haul_road 🔁 |
— | cid, subject_type, subject_cid, subject_ref, reason, closure_type, started_at, notes |
work.subject_reopened |
haul_road 🔁 |
— | cid, subject_type, subject_cid, subject_ref, reason, started_at, ended_at |
work.work_closed |
haul_road 🔁 |
scrm ✅ |
cid, work_order_number, actual_cost, quantity_done, quantity_unit, work_system |
work.work_completed |
haul_road 🔁 |
scrm ✅ |
cid, work_order_number, subject_cid, subject_ref, quantity_done, quantity_unit, work_system |
work.work_order_created |
haul_road 🔁 |
— | cid, work_order_number, work_status, work_type, subject_type, subject_system, subject_cid, subject_ref, work_system |
work.work_started |
haul_road 🔁 |
scrm ✅ |
cid, work_order_number, subject_cid, subject_ref, work_system |
work.work_suspended |
haul_road 🔁 |
scrm ✅ |
cid, work_order_number, subject_cid, subject_ref, work_system |
work.work_verified |
haul_road 🔁 |
scrm ✅ |
work_order_cid, work_order_number, subject_cid, subject_ref, work_system |
workforce.employee_changed |
(not in the network yet) | work_management ✅ |
— |
workforce.employee_left |
(not in the network yet) | work_management ✅ |
— |
workforce.employee_registered |
(not in the network yet) | work_management ✅ |
— |
workforce.trade_reference_changed |
(not in the network yet) | work_management ⏳ |
— |
Commands
| Command | Receiver | Accepted from | Request | Response | Rejects |
|---|---|---|---|---|---|
campaign.add_scope_item |
scrm ✅ |
orchestrator | work_order_cid, work_system, campaign_cid?, campaign_ref?, work_order_ref?, title?, scope_priority?, package_code?, reason?, assign_campaign? | scope_item_cid, campaign_cid, package_code, scope_status, assignment_status, scope_change_cid | unknown_campaign, campaign_closed, invalid_priority, in_another_campaign |
campaign.decide_scope_change |
scrm ✅ |
orchestrator | scope_change_cid, decision, decided_by? | scope_change_cid, decision, scope_status, assignment_status | unknown_scope_change, already_decided, invalid_decision |
campaign.freeze_scope |
scrm ✅ |
orchestrator | campaign_cid?, campaign_ref? | campaign_cid, campaign_status, items_frozen | unknown_campaign, campaign_closed |
finance.post_journal |
fins ✅ |
orchestrator, work_management, mwem, haul_road, msam, psam | source_record_type, source_record_cid, lines, source_system?, source_record_ref?, work_order_cid?, work_order_ref?, work_system?, document_date?, posting_date?, currency?, company_code?, reference?, header_text? | message_sid, posting_status, accounting_document_number, fiscal_year, errors | posting_rejected, posting_temporarily_failed, no_lines |
inventory.change_reservation |
msam ✅ |
work_management, mwem, haul_road, orchestrator | reservation_cid, quantity_required?, required_by? | cid, reservation_number, reservation_status, quantity_required, quantity_reserved, required_by, reservations_filled | not_found, already_issued, cancelled, invalid_quantity |
inventory.inspect_receipt |
msam ✅ |
orchestrator | goods_receipt_cid, quantity_accepted?, quantity_rejected?, notes? | goods_receipt_cid, receipt_number, receipt_status, quantity_accepted, quantity_rejected, reservations_filled | not_found, not_pending, quantity_mismatch |
inventory.issue_to_work |
msam ✅ |
work_management, mwem, haul_road, orchestrator | reservation_cid, issued_by? | cid, reservation_number, reservation_status, quantity_issued, unit_cost, issued_value | not_found, not_reserved, already_issued |
inventory.record_goods_arrival |
msam ✅ |
orchestrator | lines, purchase_order_cid?, purchase_order_ref?, stock_location_cid?, arrived_at? | receipts, reservations_filled | no_lines, unknown_item, invalid_quantity, unknown_location |
inventory.release_reservation |
msam ✅ |
work_management, mwem, haul_road, orchestrator | reservation_cid, reason | cid, reservation_number, reservation_status | not_found, already_issued |
inventory.return_from_work |
msam ✅ |
work_management, mwem, haul_road, orchestrator | reservation_cid, quantity_returned, reason? | cid, reservation_number, quantity_returned, returned_value, quantity_issued_net, reservations_filled | not_found, not_issued, invalid_quantity, exceeds_issued |
inventory.reverse_receipt_acceptance |
msam ✅ |
orchestrator | goods_receipt_cid, disposition, reason, reversed_at? | goods_receipt_cid, receipt_number, receipt_status, quantity_reversed | not_found, not_accepted, already_consumed, invalid_disposition |
purchasing.cancel_purchase_order |
psam ✅ |
orchestrator | purchase_order_cid, reason | purchase_order_cid, order_status | unknown_order, already_received, order_closed |
purchasing.create_purchase_order |
psam ✅ |
orchestrator | purchase_requirement_cid, supplier_cid?, supplier_ref?, quantity?, unit_price?, currency?, promised_delivery? | cid, purchase_order_number, order_status, revision_no | unknown_requirement, requirement_closed, unknown_supplier, supplier_not_approved, invalid_quantity |
purchasing.create_requirement |
psam ✅ |
work_management, mwem, haul_road, msam, orchestrator | catalogue_item_cid, catalogue_item_ref?, quantity_required, required_by, material_requirement_cid?, material_requirement_ref?, work_order_cid?, work_order_ref?, work_system?, description?, requirement_priority? | cid, requirement_number, requirement_status | invalid_quantity |
purchasing.record_supplier_commitment |
psam ✅ |
orchestrator | purchase_order_cid, committed_delivery_at, commitment_status, committed_quantity?, reason_code?, reason? | cid, revision_no, commitment_status | unknown_order, order_closed, invalid_status, invalid_date |
work.assign_campaign |
mwem ✅ |
orchestrator, scrm | work_order_cid, campaign_cid, campaign_ref? | work_order_cid, campaign_cid, campaign_ref | unknown_work_order, work_order_closed |
work.close_subject |
haul_road ✅ |
orchestrator | reason, subject_cid?, subject_ref?, closure_type?, notes? | cid, subject_type, subject_ref, closure_type, status | unknown_subject, invalid_reason |
work.confirm_access |
mwem ✅ |
orchestrator | work_order_cid, requirement_type?, external_ref?, confirmed_by? | work_order_cid, confirmed, outstanding | unknown_work_order, nothing_to_confirm |
work.create_material_requirement |
haul_road ✅ |
orchestrator | work_order_cid, catalogue_item_cid, catalogue_item_ref?, quantity_required, unit_snapshot?, required_by?, critical_to_start? | cid, requirement_number, requirement_status | work_order_not_found, work_order_closed, invalid_quantity |
work.create_work_order |
haul_road ✅ |
orchestrator | title, work_type, subject_cid?, subject_ref?, work_priority?, quantity?, unit?, required_by? | cid, work_order_number, work_status, subject_type, subject_cid, subject_ref | unknown_subject, work_type_invalid, invalid_quantity |
work.record_component_failure |
work_management ✅ |
orchestrator | work_order_cid, component_asset_cid, component_asset_ref?, failure_mode_code, symptom_code?, removal_reason_code?, usage_at_failure?, usage_unit?, main_smu_value?, main_smu_unit?, main_smu_metric_cid?, main_smu_metric_ref?, failed_at?, warranty_review_required? | work_order_cid, warranty_review_required | — |
work.record_component_installation |
work_management ✅ |
orchestrator | work_order_cid, component_cid, component_ref?, catalogue_item_cid?, catalogue_item_ref?, smcs_cid?, smcs_ref?, modifier_cid?, modifier_ref?, position_code?, installed_at?, main_smu_value?, main_smu_unit?, main_smu_metric_cid?, main_smu_metric_ref?, installed_by_person_cid?, notes? | work_order_cid, installed_component_cid | work_order_not_found, work_order_closed |
work.record_defect |
haul_road ✅ |
orchestrator | subject_ref, defect_type, severity, estimated_quantity?, unit?, description?, subject_cid? | cid, status, work_order_cid, work_order_number | unknown_subject, defect_type_invalid, severity_invalid, invalid_quantity |
work.record_job_cost |
work_management ✅ |
purchasing, orchestrator | work_order_cid, work_order_ref?, cost_type, source_type, source_cid, source_ref?, description?, quantity?, unit_cost?, amount, currency?, incurred_at? | work_order_cid, cost_type, amount, existing | unknown_work_order, unknown_cost_type |
work.record_time |
work_management ✅ |
orchestrator | work_order_cid, person_reference, hours, time_type?, trade_cid?, trade_ref?, trade_code?, started_at?, finished_at?, notes? | work_order_cid, hours, time_type, trade_cid, trade_ref, work_status | unknown_work_order, unknown_person, hours_required, order_cancelled, unknown_trade |
work.reopen_subject |
haul_road ✅ |
orchestrator | closure_cid?, subject_cid?, subject_ref? | cid, subject_type, subject_ref, status | unknown_subject, no_closure |
work.reopen_work_order |
work_management ✅ |
orchestrator | work_order_cid, reason | work_order_cid, work_status | unknown_work_order, not_closed |
work.return_to_service |
work_management ⏳ |
orchestrator | work_order_cid, asset_cid, asset_ref?, operating_state, limitations?, monitoring_until? | work_order_cid, work_status | prerequisites_not_met |
work.review_material_delay |
work_management ⏳ |
orchestrator | work_order_cid, material_requirement_cid, previous_expected_at?, current_expected_at?, reason? | work_order_cid, readiness_status, decision_required | — |
work.start_work |
mwem ✅ |
orchestrator | work_order_cid | work_order_cid, work_status, actual_start_at | unknown_work_order, access_not_confirmed, cannot_start |
work.update_external_constraint |
work_management ⏳ |
orchestrator | work_order_cid, external_entity_type, external_entity_cid, external_entity_ref?, dependency_type, status, required_by? | work_order_cid, dependency_status | — |
work.verify_and_close |
haul_road ✅ |
orchestrator | work_order_cid, verification_result, quantity_verified?, checked_by?, comments? | work_order_cid, work_status, verification_result, verified, closed | unknown_work_order, not_complete, invalid_result, order_cancelled |
Queries
| Query | Answered by | Request | Response |
|---|---|---|---|
campaign.readiness_status |
scrm ✅ |
campaign_cid?, campaign_ref? | campaign_cid, campaign_ref, campaign_status, total_packages, ready_packages, blocked_packages, open_materials, open_procurement, open_contractors, overall_state, explanation, work_orders |
finance.posting_status |
fins ✅ |
source_record_cid | source_record_cid, posting_status, message_sid, accounting_document_number, fiscal_year, error_code, error_message, retryable |
inventory.availability |
msam ✅ |
catalogue_item_cid?, catalogue_item_ref?, quantity_required? | catalogue_item_cid, catalogue_item_ref, quantity_on_hand, quantity_reserved, quantity_available, candidate_locations, reservation_possible |
inventory.purchase_order_receipts |
msam ✅ |
purchase_order_cid | purchase_order_cid, receipts |
inventory.receipt_status |
msam ✅ |
cid | cid, receipt_number, purchase_order_cid, receipt_status, lines |
inventory.reservation_status |
msam ✅ |
cid | cid, reservation_number, material_requirement_cid, material_requirement_ref, reservation_status, quantity_required, quantity_reserved, required_by |
purchasing.delivery_status |
psam ✅ |
purchase_order_cid | purchase_order_cid, order_status, commitments, site_delivery, receipts |
purchasing.purchase_order_status |
psam ✅ |
cid | cid, purchase_order_number, supplier_cid, supplier_ref, order_status, current_delivery_commitment |
purchasing.requirement_status |
psam ✅ |
cid | cid, requirement_number, requirement_status, material_requirement_cid, required_by, purchase_orders |
work.asset_work_history |
work_management ⏳ |
asset_cid, from_datetime?, to_datetime? | work_orders, removed_components, closeout_codes |
work.material_requirement_status |
haul_road ✅ |
cid | cid, requirement_number, work_order_cid, work_order_ref, catalogue_item_cid, catalogue_item_ref, quantity_required, requirement_status, inventory_reservation_cid, inventory_reservation_ref, purchase_requirement_cid, purchase_requirement_ref, expected_available_at |
work.open_work_orders |
work_management ✅ |
work_status?, limit? | items |
work.readiness_status |
work_management ⏳ |
cid | work_status, blocking_dependencies, open_material_requirements, unavailable_tools, isolation_status, access_status |
work.search_maintenance_templates |
work_management ✅ |
text, limit? | items |
work.work_order_status |
haul_road ✅ |
cid | cid, work_order_number, work_status, work_type, subject_type, subject_cid, subject_ref, planned_quantity, quantity_done, quantity_unit, actual_cost |
🔁 published automatically when the record changes · ✅ handler implemented · ⏳ declared, no handler yet (answers handler not found) · 🧪 stub (stands in for an app not built yet)
Entities: ownership and references
| Entity type | Owner | Referenced by |
|---|---|---|
asset.asset |
asset_register (not in the network yet) | work_management: WorkOrder.asset_cid, IsolationReference.asset_cid, TestResult.asset_cid, ReturnToService.asset_cid |
asset.asset_group |
asset_register (not in the network yet) | work_management: MaintenanceTemplate.asset_group_cid |
asset.component |
asset_register (not in the network yet) | work_management: WorkOrder.component_cid, RemovedComponent.component_cid, InstalledComponent.component_cid |
campaign.campaign |
scrm |
— |
campaign.milestone |
scrm |
— |
campaign.readiness_snapshot |
scrm |
— |
campaign.scope_change |
scrm |
— |
campaign.scope_item |
scrm |
— |
catalogue.item |
catalogue (not in the network yet) | work_management: WorkMaterialRequirement.catalogue_item_cid, RemovedComponent.catalogue_item_cid, InstalledComponent.catalogue_item_cid |
classification.modifier |
classification (not in the network yet) | work_management: InstalledComponent.modifier_cid |
classification.smcs |
classification (not in the network yet) | work_management: MaintenanceTemplate.smcs_cid, InstalledComponent.smcs_cid |
finance.accounting_document |
fins |
— |
finance.posting_message |
fins |
— |
inventory.goods_receipt |
msam |
— |
inventory.reservation |
msam |
work_management: WorkMaterialRequirement.inventory_reservation_cidmwem: MaterialRequirement.inventory_reservation_cidhaul_road: HaulMaterialRequirement.inventory_reservation_cidpsam: PurchaseRequirement.inventory_reservation_cid |
lifecycle.usage_metric_type |
asset_lifecycle (not in the network yet) | work_management: RemovedComponent.main_smu_usage_metric_type_cid, InstalledComponent.main_smu_usage_metric_type_cid |
purchasing.delivery_commitment |
psam |
— |
purchasing.purchase_order |
psam |
— |
purchasing.purchase_requirement |
psam |
work_management: WorkMaterialRequirement.purchase_requirement_cidmwem: MaterialRequirement.purchase_requirement_cidhaul_road: HaulMaterialRequirement.purchase_requirement_cid |
supplier.supplier |
supplier (not in the network yet) | work_management: Organisation.supplier_cid |
warranty.candidate |
warranty (not in the network yet) | work_management: WorkOrder.warranty_candidate_cid |
work.fixed_asset |
mwem |
— |
work.installed_component |
work_management |
— |
work.maintenance_template |
work_management |
— |
work.material_requirement |
work_management, mwem, haul_road |
scrm: CampaignMaterial.material_requirement_cidmsam: MaterialDemand.material_requirement_cidpsam: PurchaseRequirement.material_requirement_cid, PurchaseOrder.material_requirement_cid, DeliveryCommitment.material_requirement_cid |
work.removed_component |
work_management |
— |
work.road_closure |
haul_road |
— |
work.road_defect |
haul_road |
— |
work.road_segment |
haul_road |
— |
work.work_order |
work_management, mwem, haul_road |
scrm: CampaignWorkOrder.work_order_cidmsam: MaterialDemand.work_order_cidpsam: PurchaseRequirement.work_order_cid, PurchaseOrder.work_order_cidfins: AccountingDocument.work_order_cid, InboundMessage.work_order_cid |
workforce.trade |
workforce (not in the network yet) | work_management: Person.trade_cid, WorkAssignment.trade_cid, WorkTimeEntry.trade_cid |
Reference flows
A1 — A part is short for fixed plant work - purchasing orders it, it arrives, is reserved, issued and its cost posted
sequenceDiagram
participant haul_road as haul_road
participant O as Orchestrator
participant scrm as scrm
participant msam as msam
participant work_management as work_management
participant mwem as mwem
participant psam as psam
participant fins as fins
haul_road->>O: work.material_requirement_created
O->>scrm: deliver
O->>msam: deliver
msam->>O: inventory.item_unavailable
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
O->>psam: deliver
psam->>O: purchasing.requirement_created
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
psam->>O: purchasing.order_placed
psam->>O: purchasing.delivery_commitment_changed
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
msam->>O: inventory.receipt_accepted
O->>psam: deliver
msam->>O: inventory.item_reserved
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
msam->>O: inventory.item_issued
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
O->>fins: deliver
fins->>O: finance.document_posted
A2 — Haul road material is in stock - reserved at once, issued and its cost posted, the work completed and closed
sequenceDiagram
participant haul_road as haul_road
participant O as Orchestrator
participant scrm as scrm
participant msam as msam
participant work_management as work_management
participant mwem as mwem
participant fins as fins
haul_road->>O: work.work_order_created
haul_road->>O: work.material_requirement_created
O->>scrm: deliver
O->>msam: deliver
msam->>O: inventory.item_reserved
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
msam->>O: inventory.item_issued
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
O->>fins: deliver
fins->>O: finance.document_posted
haul_road->>O: work.work_completed
O->>scrm: deliver
haul_road->>O: work.work_closed
O->>scrm: deliver
A3 — A late delivery and then a cancelled order - the work application is told the new date, then that none is expected
sequenceDiagram
participant msam as msam
participant O as Orchestrator
participant work_management as work_management
participant mwem as mwem
participant haul_road as haul_road
participant psam as psam
msam->>O: inventory.item_unavailable
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
O->>psam: deliver
psam->>O: purchasing.requirement_created
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
psam->>O: purchasing.delivery_commitment_changed
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
psam->>O: purchasing.delivery_delayed
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
psam->>O: purchasing.order_cancelled
psam->>O: purchasing.delivery_commitment_changed
O->>work_management: deliver
O->>mwem: deliver
O->>haul_road: deliver
S1 — A shutdown follows its work - orders are put in scope and assigned, readiness and progress arrive, the campaign completes
sequenceDiagram
participant scrm as scrm
participant O as Orchestrator
participant haul_road as haul_road
scrm->>O: campaign.readiness_changed
haul_road->>O: work.readiness_changed
O->>scrm: deliver
scrm->>O: campaign.scope_frozen
haul_road->>O: work.work_started
O->>scrm: deliver
scrm->>O: campaign.milestone_reached
haul_road->>O: work.work_completed
O->>scrm: deliver
haul_road->>O: work.work_closed
O->>scrm: deliver
S2 — Scope added after the freeze is a change to be decided before the work order is assigned
sequenceDiagram
participant scrm as scrm
participant O as Orchestrator
scrm->>O: campaign.scope_frozen
scrm->>O: campaign.scope_change_requested
scrm->>O: campaign.scope_change_decided
H1 — A serious defect is reported - a work order is made for it at once; the segment is closed for wet weather and reopened
sequenceDiagram
participant haul_road as haul_road
participant O as Orchestrator
haul_road->>O: work.defect_recorded
haul_road->>O: work.work_order_created
haul_road->>O: work.subject_closed
haul_road->>O: work.subject_reopened