[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"/docs/jobs/policejob/features/advanced-speed-camera":3,"/docs/jobs/policejob/features/advanced-speed-camera-surround":298,"/docs/jobs/policejob/features/advanced-speed-camera-implemented-suggestions":311},{"id":4,"title":5,"body":6,"description":287,"extension":288,"head":289,"implementedSuggestions":289,"meta":290,"navigation":291,"path":293,"schemaOrg":289,"seo":294,"sitemap":295,"stem":296,"__hash__":297},"docs/1.docs/0.jobs/1.policejob/3.features/2.advanced-speed-camera.md","Advanced Speed Camera",{"type":7,"value":8,"toc":275},"minimark",[9,14,23,31,59,63,87,91,105,116,120,208,219,223,230,234,241,248,256,260],[10,11,13],"h2",{"id":12},"manual-review-instead-of-instant-billing","Manual review instead of instant billing",[15,16,17,18,22],"p",{},"Set ",[19,20,21],"code",{},"Config.SpeedCam.advanced.enabled = true"," to store each valid speed-camera capture in the Police\nTablet instead of immediately issuing an invoice. Authorized officers review the evidence and either\napprove the linked fine or discard the capture.",[15,24,25,26,30],{},"The ",[27,28,29],"strong",{},"Speed Camera Reviews"," app shows pending, approved, and discarded captures with:",[32,33,34,38,41,44,47,50,53,56],"ul",{},[35,36,37],"li",{},"Camera name and capture time",[35,39,40],{},"Plate and registered owner, when resolved",[35,42,43],{},"Measured speed, limit, tolerance, and overage",[35,45,46],{},"Matched offence ID, category, and fine amount",[35,48,49],{},"Front or rear capture side",[35,51,52],{},"Uploaded evidence image",[35,54,55],{},"Suspected fake-plate state",[35,57,58],{},"Reviewing officer and review time",[10,60,62],{"id":61},"capture-workflow","Capture workflow",[64,65,66,69,72,75,78,81,84],"ol",{},[35,67,68],{},"A deployed camera detects a vehicle inside its configured radius and direction cone.",[35,70,71],{},"The server validates the camera, vehicle, speed, limit, tolerance, cooldown, and capture side.",[35,73,74],{},"The configured plate-recognition sides decide whether owner lookup may be used.",[35,76,77],{},"The offence catalogue is matched from the authoritative speed overage.",[35,79,80],{},"A pending review is stored before the evidence upload begins.",[35,82,83],{},"The capturing client receives a short-lived, source-bound upload token for this review only.",[35,85,86],{},"An authorized officer approves and sends the invoice, or discards the capture.",[10,88,90],{"id":89},"plate-recognition","Plate recognition",[15,92,93,96,97,100,101,104],{},[19,94,95],{},"recognizedSides"," accepts ",[19,98,99],{},"front",", ",[19,102,103],{},"rear",", or both. A rear-only configuration is useful when the\ncamera angle reliably shows the vehicle plate from behind. Captures from another side can still be\nstored, but are not treated as an authoritative registered-owner match.",[15,106,107,108,111,112,115],{},"Unregistered vehicles can be retained for investigation with ",[19,109,110],{},"storeUnregisteredVehicles = true",".\nSuspected cloned or fake plates remain blocked from approval unless\n",[19,113,114],{},"allowSuspectedFakePlateApproval"," is enabled explicitly.",[10,117,119],{"id":118},"configuration","Configuration",[121,122,123,136],"table",{},[124,125,126],"thead",{},[127,128,129,133],"tr",{},[130,131,132],"th",{},"Setting",[130,134,135],{},"Purpose",[137,138,139,150,159,169,179,189,198],"tbody",{},[127,140,141,147],{},[142,143,144],"td",{},[19,145,146],{},"enabled",[142,148,149],{},"Enables manual review and disables immediate billing for captured reviews",[127,151,152,156],{},[142,153,154],{},[19,155,95],{},[142,157,158],{},"Capture sides allowed to use registered plate ownership",[127,160,161,166],{},[142,162,163],{},[19,164,165],{},"reviewPermission",[142,167,168],{},"Boss Menu permission required to approve or discard",[127,170,171,176],{},[142,172,173],{},[19,174,175],{},"requireEvidence",[142,177,178],{},"Prevents approval before an evidence image is attached",[127,180,181,186],{},[142,182,183],{},[19,184,185],{},"storeUnregisteredVehicles",[142,187,188],{},"Retains captures without a registered owner",[127,190,191,195],{},[142,192,193],{},[19,194,114],{},[142,196,197],{},"Allows approval despite a suspected fake plate",[127,199,200,205],{},[142,201,202],{},[19,203,204],{},"pageSize",[142,206,207],{},"Default number of reviews per tablet page",[15,209,210,211,214,215,218],{},"The default review permission is ",[19,212,213],{},"18"," (",[27,216,217],{},"Manage Billing","). The app may be visible to an on-duty\nofficer while the approve and discard actions remain unavailable without that permission.",[10,220,222],{"id":221},"billing-requirements","Billing requirements",[15,224,225,226,229],{},"Approval requires an active billing adapter, a registered online owner, a matched offence with a\npositive fine, and evidence when configured. The invoice reason includes the offence name and stable\noffence ID. If billing fails, the review returns to ",[19,227,228],{},"pending"," rather than being marked approved.",[10,231,233],{"id":232},"exploit-protection","Exploit protection",[15,235,236,237,240],{},"Review authority is resolved on every request from ",[19,238,239],{},"Sky_Jobs.PlayerCache",". The server checks police\njob membership, duty, the configured Boss Menu permission, review ownership, current status,\nregistered owner, evidence, offence, amount, and billing availability.",[15,242,243,244,247],{},"The server claims a pending review as ",[19,245,246],{},"processing"," before billing, preventing two reviewers from\napproving the same capture. An officer cannot approve or discard a capture owned by their own\ncharacter. Evidence uploads require a single-use token bound to the capturing source and review,\nexpire after 60 seconds, and accept only bounded HTTP(S) URLs.",[249,250,253],"callout",{"color":251,"icon":252},"success","i-lucide-shield-check",[15,254,255],{},"There is no public client event or client export for approving, discarding, changing a plate,\nchanging a speed, or sending an invoice. Integrations may read deployed camera data on the server or\nlisten to read-only client state events, but review mutations stay inside the authenticated server\nworkflow.",[10,257,259],{"id":258},"integration-reference","Integration reference",[32,261,262,269],{},[35,263,264],{},[265,266,268],"a",{"href":267},"/docs/jobs/policejob/reference/exports#advanced-speed-camera","Exports",[35,270,271],{},[265,272,274],{"href":273},"/docs/jobs/policejob/reference/events#advanced-speed-camera","Events",{"title":276,"searchDepth":277,"depth":278,"links":279},"",1,2,[280,281,282,283,284,285,286],{"id":12,"depth":278,"text":13},{"id":61,"depth":278,"text":62},{"id":89,"depth":278,"text":90},{"id":118,"depth":278,"text":119},{"id":221,"depth":278,"text":222},{"id":232,"depth":278,"text":233},{"id":258,"depth":278,"text":259},"Store speed-camera captures for evidence review, plate recognition, offence matching, and authorized billing.","md",null,{},{"icon":292},"i-lucide-scan-search","/docs/jobs/policejob/features/advanced-speed-camera",{"title":5,"description":287},{"loc":293},"1.docs/0.jobs/1.policejob/3.features/2.advanced-speed-camera","KLeoybrcG8LblhoOFELVLkeg03ZzvOsyknlzLdvHDJY",[299,305],{"title":300,"path":301,"stem":302,"description":303,"icon":304,"children":-1},"Police Tablet and Casework","/docs/jobs/policejob/features/police-tablet-and-casework","1.docs/0.jobs/1.policejob/3.features/1.police-tablet-and-casework","Manage citizens, cases, reports, offences, warrants, BOLOs, vehicles, and operational records in one MDT.","i-lucide-tablet",{"title":306,"path":307,"stem":308,"description":309,"icon":310,"children":-1},"Evidence and Forensics","/docs/jobs/policejob/features/evidence-and-forensics","1.docs/0.jobs/1.policejob/3.features/3.evidence-and-forensics","Collect field evidence, test GSR, operate laboratories, and preserve evidence through police storage workflows.","i-lucide-flask-conical",[],1786395269505]