[{"data":1,"prerenderedAt":393},["ShallowReactive",2],{"guide:en:work-fulfillment":3},{"id":4,"title":5,"body":6,"description":385,"extension":386,"meta":387,"navigation":388,"path":389,"seo":390,"stem":391,"__hash__":392},"guide_en/en/user/work-fulfillment/index.md","Work Fulfillment — Planning, Assigning, and Validating Field Work",{"type":7,"value":8,"toc":367},"minimark",[9,14,18,23,34,39,55,59,73,77,91,95,124,128,133,147,152,163,168,186,191,205,209,213,216,221,227,231,234,238,244,250,254,257,261,267,271,276,293,298,309,314,325,329],[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],{},"Assign a task to a worker with a timeline and resource targets",[43,65,66],{},"Generate QR pickup codes for protected inventory (two-step authorize + complete)",[43,68,69],{},"Immediate confirmation (no waiting for version commits)",[43,71,72],{},"Standalone work orders supported for ad-hoc or emergency work",[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],{},[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],{},"Leave comments in a shared thread; set overall status (pass / fail / needs-revision / approved-with-notes)",[43,115,116],{},"Status controls payment release",[43,118,119,120,123],{},"Mobile supervisor queue at ",[31,121,122],{},"/m/validations"," is preserved",[19,125,127],{"id":126},"key-concepts","Key Concepts",[15,129,130],{},[104,131,132],{},"Real-Time Execution:",[40,134,135,138,141,144],{},[43,136,137],{},"Work orders, reports, validations operate in real-time (not versioned)",[43,139,140],{},"Workers need immediate confirmation: \"Do I have this work?\"",[43,142,143],{},"Payment chain requires committed data (can't wait for admin version commit)",[43,145,146],{},"Stock visibility must be current (next QR scan needs accurate balance)",[15,148,149],{},[104,150,151],{},"Multi-Resource Tasks:",[40,153,154,157,160],{},[43,155,156],{},"Single task can require multiple resources (reduces map clutter)",[43,158,159],{},"Example: Door installation = 1 door + 12 screws + 0.5L adhesive",[43,161,162],{},"Progress calculated as average across all resources",[15,164,165],{},[104,166,167],{},"Resource Targets vs Reservations:",[40,169,170,177,180,183],{},[43,171,172,173,176],{},"Work orders show ",[104,174,175],{},"Resource Targets"," = goals to accomplish",[43,178,179],{},"NOT hard reservations (inventory not locked)",[43,181,182],{},"Allows flexibility when priorities change",[43,184,185],{},"Actual allocation happens at QR pickup scan time",[15,187,188],{},[104,189,190],{},"Ad-Hoc Work:",[40,192,193,196,199,202],{},[43,194,195],{},"Reports don't require formal tasks",[43,197,198],{},"Linking a task in the report is optional",[43,200,201],{},"Supports unplanned maintenance, issue responses",[43,203,204],{},"Still creates consumption transactions and payment data",[19,206,208],{"id":207},"progress-calculation","Progress Calculation",[35,210,212],{"id":211},"task-level-progress","Task-Level Progress",[15,214,215],{},"Average completion across all resources in task.",[15,217,218],{},[104,219,220],{},"Example:",[24,222,225],{"className":223,"code":224,"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,226,224],{"__ignoreMap":33},[35,228,230],{"id":229},"work-order-level-progress","Work Order-Level Progress",[15,232,233],{},"Progress toward assigned resource targets (not full task volumes).",[15,235,236],{},[104,237,220],{},[24,239,242],{"className":240,"code":241,"language":29},[27],"Work order linked to Task A:\n  Resource Targets: 10m cable, 20m conduit\n  Reported: 5m cable, 10m conduit\n  Progress = (5/10 + 10/20) / 2 = 50%\n",[31,243,241],{"__ignoreMap":33},[15,245,246,249],{},[104,247,248],{},"Key Rule:"," Calculate against the work order's resource targets, not the full task volume.",[35,251,253],{"id":252},"over-delivery-handling","Over-Delivery Handling",[15,255,256],{},"Cap contributions at 100% per task, validation verifies accuracy.",[15,258,259],{},[104,260,220],{},[24,262,265],{"className":263,"code":264,"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,266,264],{"__ignoreMap":33},[19,268,270],{"id":269},"immutability-considerations","Immutability Considerations",[15,272,273],{},[104,274,275],{},"Work Orders and Reports Stay:",[40,277,278,281,284,287],{},[43,279,280],{},"When infrastructure demolished, assignments/reports remain",[43,282,283],{},"Provides work history (what was done, when, by whom)",[43,285,286],{},"Soft deletes supported (configurable retention in app settings)",[43,288,289,292],{},[104,290,291],{},"View Deleted"," admin right to see soft-deleted records",[15,294,295],{},[104,296,297],{},"Task Versions Compressed:",[40,299,300,303,306],{},[43,301,302],{},"Task version history compressed, never deleted",[43,304,305],{},"Rollback to previous task definitions possible",[43,307,308],{},"Spatial conflict detection (overlapping geography)",[15,310,311],{},[104,312,313],{},"Transaction Audit Trail:",[40,315,316,319,322],{},[43,317,318],{},"Consumption transactions from reports immutable",[43,320,321],{},"Cannot erase material usage",[43,323,324],{},"Corrections add new adjustment transactions",[19,326,328],{"id":327},"sections","Sections",[40,330,331,339,346,353,360],{},[43,332,333,338],{},[334,335,337],"a",{"href":336},"/guide/work-fulfillment/projects/","Projects"," - Group related tasks; track campaign-level progress",[43,340,341,345],{},[334,342,344],{"href":343},"/guide/work-fulfillment/tasks/","Tasks"," - Define work areas with resource requirements",[43,347,348,352],{},[334,349,351],{"href":350},"/guide/work-fulfillment/workorders/","Work Orders"," - Allocate work to users with inventory authorization",[43,354,355,359],{},[334,356,358],{"href":357},"/guide/work-fulfillment/reports/","Reports"," - Document completed work and consumption",[43,361,362,366],{},[334,363,365],{"href":364},"/guide/work-fulfillment/validations/","Validations"," - Quality control managed as badges on the reports page",{"title":33,"searchDepth":368,"depth":368,"links":369},2,[370,377,378,383,384],{"id":21,"depth":368,"text":22,"children":371},[372,374,375,376],{"id":37,"depth":373,"text":38},3,{"id":57,"depth":373,"text":58},{"id":75,"depth":373,"text":76},{"id":93,"depth":373,"text":94},{"id":126,"depth":368,"text":127},{"id":207,"depth":368,"text":208,"children":379},[380,381,382],{"id":211,"depth":373,"text":212},{"id":229,"depth":373,"text":230},{"id":252,"depth":373,"text":253},{"id":269,"depth":368,"text":270},{"id":327,"depth":368,"text":328},"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":385},"en/user/work-fulfillment/index","6RnGHhOsHBU2mlnqfJTiGHXI4kReCs1cI7q-JmmpHdo",1780538308497]