[{"data":1,"prerenderedAt":489},["ShallowReactive",2],{"/docs/jobs/mechanicjob/features/tuning-and-orders":3,"/docs/jobs/mechanicjob/features/tuning-and-orders-surround":478,"/docs/jobs/mechanicjob/features/tuning-and-orders-implemented-suggestions":488},{"id":4,"title":5,"body":6,"description":468,"extension":469,"head":470,"implementedSuggestions":470,"meta":471,"navigation":472,"path":473,"schemaOrg":470,"seo":474,"sitemap":475,"stem":476,"__hash__":477},"docs/1.docs/0.jobs/2.mechanicjob/3.features/1.tuning-and-orders.md","Tuning and Orders",{"type":7,"value":8,"toc":455},"minimark",[9,14,18,21,25,47,50,54,61,131,138,142,154,208,211,313,316,320,323,326,338,342,348,352,355,359,362,365,379,382,386,393,397,426,430,451],[10,11,13],"h2",{"id":12},"tuning-modes","Tuning modes",[15,16,17],"p",{},"Sky Mechanic Job supports workshop tuning, public self-service tuning, and optional instant tuning locations. Access and pricing should be reviewed separately for each mode.",[15,19,20],{},"Instant tuning can be public, mechanic-only, or restricted to an allow-list of jobs. Its price multiplier is applied on top of the normal tuning price.",[10,22,24],{"id":23},"order-lifecycle","Order lifecycle",[26,27,28,32,35,38,41,44],"ol",{},[29,30,31],"li",{},"A customer or mechanic selects tuning options.",[29,33,34],{},"The resource calculates the price from the configured vehicle value and pricing profile.",[29,36,37],{},"The customer selects an enabled payment method.",[29,39,40],{},"A tuning order is created for the mechanic workflow.",[29,42,43],{},"Required items and installation steps are completed.",[29,45,46],{},"Installed tuning and order history are saved for the vehicle plate.",[15,48,49],{},"Orders can also store refund information. Confirm the order state before refunding or repeating an installation.",[10,51,53],{"id":52},"pricing","Pricing",[15,55,56,60],{},[57,58,59],"code",{},"Config.TuningCostProfile"," supports percentage-based and fixed pricing.",[62,63,64,77],"table",{},[65,66,67],"thead",{},[68,69,70,74],"tr",{},[71,72,73],"th",{},"Setting",[71,75,76],{},"Purpose",[78,79,80,91,101,111,121],"tbody",{},[68,81,82,88],{},[83,84,85],"td",{},[57,86,87],{},"priceType",[83,89,90],{},"Selects percentage or fixed prices",[68,92,93,98],{},[83,94,95],{},[57,96,97],{},"fallbackVehicleValue",[83,99,100],{},"Used when no vehicle purchase price is found",[68,102,103,108],{},[83,104,105],{},[57,106,107],{},"freeVehicles",[83,109,110],{},"Makes all tuning options free for listed models",[68,112,113,118],{},[83,114,115],{},[57,116,117],{},"addRevenueToSociety",[83,119,120],{},"Deposits paid tuning revenue into the mechanic society account",[68,122,123,128],{},[83,124,125],{},[57,126,127],{},"publicUsersSeePrices",[83,129,130],{},"Controls whether public users see normal prices",[15,132,133,134,137],{},"Percentage pricing is only reliable when vehicle catalog prices can be resolved. Custom vehicle shops may require the open vehicle price lookup hook in ",[57,135,136],{},"config/sv_functions.lua",".",[10,139,141],{"id":140},"per-job-tuning-restrictions","Per-job tuning restrictions",[15,143,144,145,149,150,153],{},"Each mechanic job can control more than complete tuning categories. In ",[146,147,148],"strong",{},"Tuning Prices"," inside ",[57,151,152],{},"/jobconfig",", staged upgrades can be enabled or disabled individually, while direct-value options can define allowed or blocked values.",[62,155,156,165],{},[65,157,158],{},[68,159,160,163],{},[71,161,162],{},"Rule",[71,164,76],{},[78,166,167,178,188,198],{},[68,168,169,175],{},[83,170,171,174],{},[57,172,173],{},"enabled = false"," on an option",[83,176,177],{},"Hides the complete tuning option",[68,179,180,185],{},[83,181,182,184],{},[57,183,173],{}," on a staged entry",[83,186,187],{},"Hides only that upgrade stage",[68,189,190,195],{},[83,191,192],{},[57,193,194],{},"allowedValues",[83,196,197],{},"Allows only the listed values or ranges",[68,199,200,205],{},[83,201,202],{},[57,203,204],{},"blockedValues",[83,206,207],{},"Blocks the listed values or ranges",[15,209,210],{},"Values can be numbers or inclusive ranges written as strings. For example, the GTA Chameleon paint range can be blocked with:",[212,213,218],"pre",{"className":214,"code":215,"language":216,"meta":217,"style":217},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","color_primary = {\n    enabled = true,\n    cost = 1.12,\n    items = { \"spray_can\" },\n    blockedValues = { \"161-242\" }\n}\n","lua","",[57,219,220,236,250,264,288,308],{"__ignoreMap":217},[221,222,225,229,233],"span",{"class":223,"line":224},"line",1,[221,226,228],{"class":227},"sTEyZ","color_primary ",[221,230,232],{"class":231},"sMK4o","=",[221,234,235],{"class":227}," {\n",[221,237,239,242,244,247],{"class":223,"line":238},2,[221,240,241],{"class":227},"    enabled ",[221,243,232],{"class":231},[221,245,246],{"class":231}," true",[221,248,249],{"class":227},",\n",[221,251,253,256,258,262],{"class":223,"line":252},3,[221,254,255],{"class":227},"    cost ",[221,257,232],{"class":231},[221,259,261],{"class":260},"sbssI"," 1.12",[221,263,249],{"class":227},[221,265,267,270,272,275,278,282,285],{"class":223,"line":266},4,[221,268,269],{"class":227},"    items ",[221,271,232],{"class":231},[221,273,274],{"class":227}," { ",[221,276,277],{"class":231},"\"",[221,279,281],{"class":280},"sfazB","spray_can",[221,283,284],{"class":231},"\" ",[221,286,287],{"class":227},"},\n",[221,289,291,294,296,298,300,303,305],{"class":223,"line":290},5,[221,292,293],{"class":227},"    blockedValues ",[221,295,232],{"class":231},[221,297,274],{"class":227},[221,299,277],{"class":231},[221,301,302],{"class":280},"161-242",[221,304,284],{"class":231},[221,306,307],{"class":227},"}\n",[221,309,311],{"class":223,"line":310},6,[221,312,307],{"class":227},[15,314,315],{},"The Job Configurator includes presets for Standard and Chameleon paint values. Restrictions are applied in the menu and validated again by the server when an order is created.",[10,317,319],{"id":318},"required-items","Required items",[15,321,322],{},"Individual tuning options can be enabled or hidden and can require one or more inventory items. Items are normally consumed after a successful installation unless that option explicitly keeps them.",[15,324,325],{},"Keep these three areas synchronized:",[327,328,329,332,335],"ul",{},[29,330,331],{},"Inventory item definitions",[29,333,334],{},"Mechanic shop or Parts Shop catalog",[29,336,337],{},"Tuning option item requirements",[10,339,341],{"id":340},"workshop-enforcement","Workshop enforcement",[15,343,344,347],{},[57,345,346],{},"Config.TuningWorkshopRequirement"," can require order installations and tuning removals to take place near a self-service tuning workshop point. Enable this when mechanics should not complete work anywhere on the map.",[10,349,351],{"id":350},"installation-flows","Installation flows",[15,353,354],{},"Different modifications can use wheel, hood, lift, oil-change, fluid-refill, paint, or other configured flows. Workshop points and required items must support every enabled flow.",[10,356,358],{"id":357},"safe-tuning-previews","Safe tuning previews",[15,360,361],{},"The connected vehicle is frozen while unpaid live-preview modifications are active. Keyboard and controller driving controls are blocked until the tuning session is closed.",[15,363,364],{},"The preview is cancelled and the original vehicle state is restored if the player:",[327,366,367,370,373,376],{},[29,368,369],{},"Leaves the vehicle or loses the driver seat",[29,371,372],{},"Moves the vehicle unexpectedly",[29,374,375],{},"Leaves the configured self-service workshop area",[29,377,378],{},"Stops the resource while a preview is active",[15,380,381],{},"Vehicles that were already frozen, such as vehicles on a Workshop Lift, remain frozen after the tuning session closes.",[10,383,385],{"id":384},"tuning-menu-navigation","Tuning menu navigation",[15,387,388,389,392],{},"Performance, Bodywork, Wheels, and Paint remain in the main navigation. Secondary sections such as Lights, Engine Sounds, Stancer, Extras, and Utility are available through the localized ",[146,390,391],{},"More"," menu. The basket remains directly accessible.",[10,394,396],{"id":395},"testing-checklist","Testing checklist",[327,398,399,402,405,408,411,414,417,420,423],{},[29,400,401],{},"Test both percentage and fixed prices before launch.",[29,403,404],{},"Verify cash, card, and society behavior used by your setup.",[29,406,407],{},"Confirm paid revenue reaches the expected society account.",[29,409,410],{},"Confirm required items are removed only after a successful install.",[29,412,413],{},"Test a cancelled or failed install for unintended item loss.",[29,415,416],{},"Verify free vehicles, disabled stages, and allowed or blocked values behave as configured.",[29,418,419],{},"Confirm a modified or stale order payload cannot submit a blocked value.",[29,421,422],{},"Confirm closing or leaving an unpaid preview restores the original vehicle.",[29,424,425],{},"Confirm tuning persists after storing, retrieving, and restarting the vehicle.",[10,427,429],{"id":428},"related-pages","Related pages",[327,431,432,439,445],{},[29,433,434],{},[435,436,438],"a",{"href":437},"../setup/workshop-setup","Workshop Setup",[29,440,441],{},[435,442,444],{"href":443},"../reference/inventories","Inventory Items",[29,446,447],{},[435,448,450],{"href":449},"./vehicle-systems","Vehicle Systems",[452,453,454],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":217,"searchDepth":224,"depth":238,"links":456},[457,458,459,460,461,462,463,464,465,466,467],{"id":12,"depth":238,"text":13},{"id":23,"depth":238,"text":24},{"id":52,"depth":238,"text":53},{"id":140,"depth":238,"text":141},{"id":318,"depth":238,"text":319},{"id":340,"depth":238,"text":341},{"id":350,"depth":238,"text":351},{"id":357,"depth":238,"text":358},{"id":384,"depth":238,"text":385},{"id":395,"depth":238,"text":396},{"id":428,"depth":238,"text":429},"Configure tuning access, prices, required parts, payments, installations, and refunds.","md",null,{},true,"/docs/jobs/mechanicjob/features/tuning-and-orders",{"title":5,"description":468},{"loc":473},"1.docs/0.jobs/2.mechanicjob/3.features/1.tuning-and-orders","g6Bm7pUfhqdROQ26God4MQpr_hE92SODUu3-tcxtw9o",[479,484],{"title":480,"path":481,"stem":482,"description":483,"children":-1},"Permissions","/docs/jobs/mechanicjob/setup/permissions","1.docs/0.jobs/2.mechanicjob/2.setup/4.permissions","Configure ACE-backed administrator access for Sky Mechanic Job commands and features.",{"title":450,"path":485,"stem":486,"description":487,"children":-1},"/docs/jobs/mechanicjob/features/vehicle-systems","1.docs/0.jobs/2.mechanicjob/3.features/2.vehicle-systems","Configure mileage, diagnostics, wear, vehicle care, wheel damage, history, and electric vehicles.",[],1782407883085]