[{"data":1,"prerenderedAt":396},["ShallowReactive",2],{"guide:en:work-fulfillment":3},{"id":4,"title":5,"body":6,"description":388,"extension":389,"meta":390,"navigation":391,"path":392,"seo":393,"stem":394,"__hash__":395},"guide_en/en/user/work-fulfillment/index.md","Work Fulfillment — Planning, Assigning, and Validating Field Work",{"type":7,"value":8,"toc":370},"minimark",[9,14,18,23,34,39,55,59,73,77,91,95,127,131,136,150,155,166,171,189,194,208,212,216,219,224,230,234,237,241,247,253,257,260,264,270,274,279,296,301,312,317,328,332],[10,11,13],"h1",{"id":12},"work-fulfillment","Work Fulfillment",[15,16,17],"p",{},"Work fulfillment covers the full lifecycle of field operations — from planning what needs to be done, to assigning crews, authorizing material pickups, capturing completed work, and verifying quality. The system separates planning (versioned, supports offline collaboration) from execution (real-time, immediate confirmation for workers).",[19,20,22],"h2",{"id":21},"core-workflow","Core Workflow",[24,25,30],"pre",{"className":26,"code":28,"language":29},[27],"language-text","Tasks (Versioned) → Work Orders (Real-Time) → Reports (Real-Time) → Validations (Real-Time)\n   Planning              Allocation              Execution            Quality Check\n","text",[31,32,28],"code",{"__ignoreMap":33},"",[35,36,38],"h3",{"id":37},"tasks-planning-phase-versioned","Tasks - Planning Phase (Versioned)",[40,41,42,46,49,52],"ul",{},[43,44,45],"li",{},"Admins design work areas offline",[43,47,48],{},"Define resource requirements and locations",[43,50,51],{},"Batch operations supported (redesign entire campaign)",[43,53,54],{},"Version/commit workflow with rollback capability",[35,56,58],{"id":57},"work-orders-allocation-phase-real-time","Work Orders - Allocation Phase (Real-Time)",[40,60,61,64,67,70],{},[43,62,63],{},"Allocate tasks to workers with timelines",[43,65,66],{},"Generate QR pickup codes for protected inventory",[43,68,69],{},"Immediate confirmation (no waiting for version commits)",[43,71,72],{},"Flexible: 10x more tasks than targets for worker choice",[35,74,76],{"id":75},"reports-execution-phase-real-time","Reports - Execution Phase (Real-Time)",[40,78,79,82,85,88],{},[43,80,81],{},"Workers document completed work",[43,83,84],{},"Auto-create inventory consumption transactions",[43,86,87],{},"Payment calculation based on actual work completed",[43,89,90],{},"Ad-hoc work supported (no formal task required)",[35,92,94],{"id":93},"validations-quality-check-phase-real-time-shown-on-reports","Validations - Quality Check Phase (Real-Time, Shown on Reports)",[40,96,97,100,108,111,114,117,120],{},[43,98,99],{},"QC staff verify report accuracy",[43,101,102,103,107],{},"Validations appear as traffic-light ",[104,105,106],"strong",{},"badges on the reports page"," (no standalone list page)",[43,109,110],{},"Click a badge to open the validation modal — view, edit, or create without leaving the report",[43,112,113],{},"Record findings (volume mismatches, quality issues)",[43,115,116],{},"Multi-resource validation (some pass, some fail)",[43,118,119],{},"Severity levels: critical, warning, info",[43,121,122,123,126],{},"Mobile supervisor queue at ",[31,124,125],{},"/m/validations"," is preserved",[19,128,130],{"id":129},"key-concepts","Key Concepts",[15,132,133],{},[104,134,135],{},"Real-Time Execution:",[40,137,138,141,144,147],{},[43,139,140],{},"Work orders, reports, validations operate in real-time (not versioned)",[43,142,143],{},"Workers need immediate confirmation: \"Do I have this work?\"",[43,145,146],{},"Payment chain requires committed data (can't wait for admin version commit)",[43,148,149],{},"Stock visibility must be current (next QR scan needs accurate balance)",[15,151,152],{},[104,153,154],{},"Multi-Resource Tasks:",[40,156,157,160,163],{},[43,158,159],{},"Single task can require multiple resources (reduces map clutter)",[43,161,162],{},"Example: Door installation = 1 door + 12 screws + 0.5L adhesive",[43,164,165],{},"Progress calculated as average across all resources",[15,167,168],{},[104,169,170],{},"Resource Targets vs Reservations:",[40,172,173,180,183,186],{},[43,174,175,176,179],{},"Work orders show ",[104,177,178],{},"Resource Targets"," = goals to accomplish",[43,181,182],{},"NOT hard reservations (inventory not locked)",[43,184,185],{},"Allows flexibility when priorities change",[43,187,188],{},"Actual allocation happens at QR pickup scan time",[15,190,191],{},[104,192,193],{},"Ad-Hoc Work:",[40,195,196,199,202,205],{},[43,197,198],{},"Reports don't require formal tasks",[43,200,201],{},"Linking a task in the report is optional",[43,203,204],{},"Supports unplanned maintenance, issue responses",[43,206,207],{},"Still creates consumption transactions and payment data",[19,209,211],{"id":210},"progress-calculation","Progress Calculation",[35,213,215],{"id":214},"task-level-progress","Task-Level Progress",[15,217,218],{},"Average completion across all resources in task.",[15,220,221],{},[104,222,223],{},"Example:",[24,225,228],{"className":226,"code":227,"language":29},[27],"Task A (10m cable + 10m digging):\n  Cable: 5m completed / 10m = 50%\n  Digging: 0m completed / 10m = 0%\n  Progress = (50% + 0%) / 2 = 25%\n",[31,229,227],{"__ignoreMap":33},[35,231,233],{"id":232},"work-order-level-progress","Work Order-Level Progress",[15,235,236],{},"Progress toward assigned resource targets (not full task volumes).",[15,238,239],{},[104,240,223],{},[24,242,245],{"className":243,"code":244,"language":29},[27],"Work order (10m cable from Task A, 20m cable from Task B):\n  Reported: 5m from Task A, 10m from Task B\n  Progress = (5/10 + 10/20) / 2 = 50%\n",[31,246,244],{"__ignoreMap":33},[15,248,249,252],{},[104,250,251],{},"Key Rule:"," Calculate against assigned amount, not full task volume.",[35,254,256],{"id":255},"over-delivery-handling","Over-Delivery Handling",[15,258,259],{},"Cap contributions at 100% per task, validation verifies accuracy.",[15,261,262],{},[104,263,223],{},[24,265,268],{"className":266,"code":267,"language":29},[27],"Work order (20m cable, 40m digging):\n  Reported: 10m cable, 60m digging\n  Progress = (10/20 + min(60,40)/40) / 2 = 75%\n",[31,269,267],{"__ignoreMap":33},[19,271,273],{"id":272},"immutability-considerations","Immutability Considerations",[15,275,276],{},[104,277,278],{},"Work Orders and Reports Stay:",[40,280,281,284,287,290],{},[43,282,283],{},"When infrastructure demolished, assignments/reports remain",[43,285,286],{},"Provides work history (what was done, when, by whom)",[43,288,289],{},"Soft deletes supported (configurable retention in app settings)",[43,291,292,295],{},[104,293,294],{},"View Deleted"," admin right to see soft-deleted records",[15,297,298],{},[104,299,300],{},"Task Versions Compressed:",[40,302,303,306,309],{},[43,304,305],{},"Task version history compressed, never deleted",[43,307,308],{},"Rollback to previous task definitions possible",[43,310,311],{},"Spatial conflict detection (overlapping geography)",[15,313,314],{},[104,315,316],{},"Transaction Audit Trail:",[40,318,319,322,325],{},[43,320,321],{},"Consumption transactions from reports immutable",[43,323,324],{},"Cannot erase material usage",[43,326,327],{},"Corrections add new adjustment transactions",[19,329,331],{"id":330},"sections","Sections",[40,333,334,342,349,356,363],{},[43,335,336,341],{},[337,338,340],"a",{"href":339},"/guide/work-fulfillment/projects","Projects"," - Group related work orders; track campaign-level progress",[43,343,344,348],{},[337,345,347],{"href":346},"/guide/work-fulfillment/tasks","Tasks"," - Define work areas with resource requirements",[43,350,351,355],{},[337,352,354],{"href":353},"/guide/work-fulfillment/workorders","Work Orders"," - Allocate work to users with inventory authorization",[43,357,358,362],{},[337,359,361],{"href":360},"/guide/work-fulfillment/reports","Reports"," - Document completed work and consumption",[43,364,365,369],{},[337,366,368],{"href":367},"/guide/work-fulfillment/validations","Validations"," - Quality control managed as badges on the reports page",{"title":33,"searchDepth":371,"depth":371,"links":372},2,[373,380,381,386,387],{"id":21,"depth":371,"text":22,"children":374},[375,377,378,379],{"id":37,"depth":376,"text":38},3,{"id":57,"depth":376,"text":58},{"id":75,"depth":376,"text":76},{"id":93,"depth":376,"text":94},{"id":129,"depth":371,"text":130},{"id":210,"depth":371,"text":211,"children":382},[383,384,385],{"id":214,"depth":376,"text":215},{"id":232,"depth":376,"text":233},{"id":255,"depth":376,"text":256},{"id":272,"depth":371,"text":273},{"id":330,"depth":371,"text":331},"Manage the complete lifecycle of field operations: plan tasks with resource requirements, assign crews with QR-code inventory authorization, capture completed work in reports, and verify quality with supervisor validations.","md",{},true,"/en/user/work-fulfillment",{"title":5,"description":388},"en/user/work-fulfillment/index","bw9rTmHrZrMPodrtjBGmhkfdbEpDt_IUVMND_N0Q4iA",1776295546620]