Files
PilotEdge/mock-data-extended.js
Daniel Kovalevich 260f7c4928 first commit
2026-03-30 13:56:24 -04:00

776 lines
48 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// =====================================================================
// EXTENDED MOCK DATA — Additional modules for V1 POC
// All data is SIMULATED for demonstration purposes.
// Include AFTER mock-data.js: <script src="mock-data-extended.js">
// =====================================================================
// =====================================================================
// STATE DOT CONTACTS (Module 14)
// =====================================================================
const MOCK_STATE_CONTACTS = {
AL: { name:"Alabama", permit:"(334) 242-5100", police:"(800) 392-8800", email:"permits@aldot.example.gov", hours:"M-F 7am-5pm CT", portal:"https://www.dot.state.al.us/" },
AK: { name:"Alaska", permit:"(907) 365-1200", police:"(907) 269-5511", email:"permits@dot.alaska.example.gov", hours:"M-F 8am-4:30pm AKT", portal:"https://dot.alaska.gov/" },
AZ: { name:"Arizona", permit:"(602) 712-7355", police:"(602) 223-2000", email:"permits@azdot.example.gov", hours:"M-F 7am-5pm MST", portal:"https://azdot.gov/" },
AR: { name:"Arkansas", permit:"(501) 569-2381", police:"(501) 618-8000", email:"permits@ardot.example.gov", hours:"M-F 7am-4:30pm CT", portal:"https://www.ardot.gov/" },
CA: { name:"California", permit:"(916) 654-4849", police:"(800) 835-5247", email:"permits@caltrans.example.gov", hours:"M-F 8am-5pm PT", portal:"https://dot.ca.gov/" },
CO: { name:"Colorado", permit:"(303) 757-9539", police:"(303) 239-4501", email:"permits@cdot.example.gov", hours:"M-F 7am-5pm MT", portal:"https://www.codot.gov/" },
CT: { name:"Connecticut", permit:"(860) 594-2874", police:"(860) 685-8190", email:"permits@ct.example.gov", hours:"M-F 8am-4:30pm ET", portal:"https://portal.ct.gov/dot" },
DE: { name:"Delaware", permit:"(302) 326-4650", police:"(302) 739-5901", email:"permits@deldot.example.gov", hours:"M-F 8am-4pm ET", portal:"https://deldot.gov/" },
FL: { name:"Florida", permit:"(850) 410-5777", police:"(850) 617-2000", email:"permits@fdot.example.gov", hours:"M-F 7am-6pm ET", portal:"https://www.fdot.gov/" },
GA: { name:"Georgia", permit:"(404) 635-8040", police:"(404) 624-7000", email:"permits@dot.ga.example.gov", hours:"M-F 7:30am-4:30pm ET", portal:"https://www.dot.ga.gov/" },
HI: { name:"Hawaii", permit:"(808) 692-7675", police:"(808) 586-1352", email:"permits@hawaii.example.gov", hours:"M-F 7:45am-4:30pm HST", portal:"https://hidot.hawaii.gov/" },
ID: { name:"Idaho", permit:"(208) 334-8418", police:"(208) 884-7000", email:"permits@itd.example.gov", hours:"M-F 7am-5pm MT", portal:"https://itd.idaho.gov/" },
IL: { name:"Illinois", permit:"(217) 785-1477", police:"(217) 782-6637", email:"permits@idot.example.gov", hours:"M-F 7am-4:30pm CT", portal:"https://idot.illinois.gov/" },
IN: { name:"Indiana", permit:"(317) 615-7320", police:"(317) 232-8248", email:"permits@indot.example.gov", hours:"M-F 7:30am-4pm ET", portal:"https://www.in.gov/indot/" },
IA: { name:"Iowa", permit:"(515) 237-3264", police:"(515) 725-6090", email:"permits@iowadot.example.gov", hours:"M-F 7am-4:30pm CT", portal:"https://iowadot.gov/" },
KS: { name:"Kansas", permit:"(785) 296-3618", police:"(785) 296-6800", email:"permits@ksdot.example.gov", hours:"M-F 8am-5pm CT", portal:"https://www.ksdot.gov/" },
KY: { name:"Kentucky", permit:"(502) 564-4540", police:"(502) 227-8700", email:"permits@kytc.example.gov", hours:"M-F 8am-4:30pm ET", portal:"https://transportation.ky.gov/" },
LA: { name:"Louisiana", permit:"(225) 379-1436", police:"(225) 925-6006", email:"permits@dotd.la.example.gov", hours:"M-F 7:30am-4pm CT", portal:"https://www.dotd.la.gov/" },
ME: { name:"Maine", permit:"(207) 624-3600", police:"(207) 624-7076", email:"permits@maine.example.gov", hours:"M-F 8am-4pm ET", portal:"https://www.maine.gov/mdot/" },
MD: { name:"Maryland", permit:"(410) 582-5734", police:"(410) 486-3101", email:"permits@mdot.example.gov", hours:"M-F 8am-4:30pm ET", portal:"https://www.roads.maryland.gov/" },
MA: { name:"Massachusetts", permit:"(857) 368-9640", police:"(508) 820-2300", email:"permits@massdot.example.gov", hours:"M-F 8:30am-5pm ET", portal:"https://www.mass.gov/massdot" },
MI: { name:"Michigan", permit:"(517) 335-0945", police:"(517) 332-2521", email:"permits@michigan.example.gov", hours:"M-F 8am-4:30pm ET", portal:"https://www.michigan.gov/mdot" },
MN: { name:"Minnesota", permit:"(651) 296-6000", police:"(651) 201-7100", email:"permits@mndot.example.gov", hours:"M-F 7:30am-4pm CT", portal:"https://www.dot.state.mn.us/" },
MS: { name:"Mississippi", permit:"(601) 359-7685", police:"(601) 987-1212", email:"permits@mdot.ms.example.gov", hours:"M-F 7am-5pm CT", portal:"https://mdot.ms.gov/" },
MO: { name:"Missouri", permit:"(573) 751-7100", police:"(573) 751-3313", email:"permits@modot.example.gov", hours:"M-F 7:30am-4:30pm CT", portal:"https://www.modot.org/" },
MT: { name:"Montana", permit:"(406) 444-6130", police:"(406) 444-3780", email:"permits@mdt.example.gov", hours:"M-F 8am-5pm MT", portal:"https://www.mdt.mt.gov/" },
NE: { name:"Nebraska", permit:"(402) 471-0034", police:"(402) 471-4545", email:"permits@dot.ne.example.gov", hours:"M-F 8am-5pm CT", portal:"https://dot.nebraska.gov/" },
NV: { name:"Nevada", permit:"(775) 888-7410", police:"(775) 687-5300", email:"permits@dot.nv.example.gov", hours:"M-F 7am-5pm PT", portal:"https://www.dot.nv.gov/" },
NH: { name:"New Hampshire", permit:"(603) 227-6100", police:"(603) 223-4381", email:"permits@nh.example.gov", hours:"M-F 8am-4pm ET", portal:"https://www.nh.gov/dot/" },
NJ: { name:"New Jersey", permit:"(609) 530-2345", police:"(609) 882-2000", email:"permits@njdot.example.gov", hours:"M-F 8am-4:30pm ET", portal:"https://www.nj.gov/transportation/" },
NM: { name:"New Mexico", permit:"(505) 827-4565", police:"(505) 827-9300", email:"permits@dot.nm.example.gov", hours:"M-F 8am-5pm MT", portal:"https://www.dot.nm.gov/" },
NY: { name:"New York", permit:"(518) 457-1014", police:"(518) 457-6811", email:"permits@nysdot.example.gov", hours:"M-F 8am-4pm ET", portal:"https://www.dot.ny.gov/" },
NC: { name:"North Carolina", permit:"(919) 733-7752", police:"(919) 733-7952", email:"permits@ncdot.example.gov", hours:"M-F 8am-5pm ET", portal:"https://www.ncdot.gov/" },
ND: { name:"North Dakota", permit:"(701) 328-2543", police:"(701) 328-2455", email:"permits@dot.nd.example.gov", hours:"M-F 8am-5pm CT", portal:"https://www.dot.nd.gov/" },
OH: { name:"Ohio", permit:"(614) 351-2300", police:"(614) 466-2660", email:"permits@odot.example.gov", hours:"M-F 7am-5pm ET", portal:"https://www.transportation.ohio.gov/" },
OK: { name:"Oklahoma", permit:"(405) 521-2558", police:"(405) 425-2424", email:"permits@odot.ok.example.gov", hours:"M-F 7:30am-4:30pm CT", portal:"https://oklahoma.gov/odot.html" },
OR: { name:"Oregon", permit:"(503) 378-6699", police:"(503) 378-3720", email:"permits@odot.or.example.gov", hours:"M-F 7:30am-4:30pm PT", portal:"https://www.oregon.gov/odot/" },
PA: { name:"Pennsylvania", permit:"(717) 787-3156", police:"(717) 783-5599", email:"permits@penndot.example.gov", hours:"M-F 8am-4pm ET", portal:"https://www.penndot.pa.gov/" },
RI: { name:"Rhode Island", permit:"(401) 222-2481", police:"(401) 444-1000", email:"permits@ridot.example.gov", hours:"M-F 8:30am-4pm ET", portal:"https://www.dot.ri.gov/" },
SC: { name:"South Carolina", permit:"(803) 737-1290", police:"(803) 896-7920", email:"permits@scdot.example.gov", hours:"M-F 8am-5pm ET", portal:"https://www.scdot.org/" },
SD: { name:"South Dakota", permit:"(605) 773-3571", police:"(605) 773-3105", email:"permits@sddot.example.gov", hours:"M-F 8am-5pm CT", portal:"https://dot.sd.gov/" },
TN: { name:"Tennessee", permit:"(615) 741-3821", police:"(615) 251-5175", email:"permits@tn.example.gov", hours:"M-F 7am-4:30pm CT", portal:"https://www.tn.gov/tdot.html" },
TX: { name:"Texas", permit:"(512) 465-7603", police:"(512) 424-2000", email:"permits@txdmv.example.gov", hours:"M-F 7am-6pm CT", portal:"https://www.txdmv.gov/" },
UT: { name:"Utah", permit:"(801) 965-4468", police:"(801) 887-3800", email:"permits@udot.example.gov", hours:"M-F 8am-5pm MT", portal:"https://www.udot.utah.gov/" },
VT: { name:"Vermont", permit:"(802) 828-2070", police:"(802) 244-8727", email:"permits@vtrans.example.gov", hours:"M-F 7:45am-4:30pm ET", portal:"https://vtrans.vermont.gov/" },
VA: { name:"Virginia", permit:"(804) 497-1560", police:"(804) 674-2000", email:"permits@vdot.example.gov", hours:"M-F 8am-5pm ET", portal:"https://www.virginiadot.org/" },
WA: { name:"Washington", permit:"(360) 704-6340", police:"(360) 596-4000", email:"permits@wsdot.example.gov", hours:"M-F 7am-5pm PT", portal:"https://wsdot.wa.gov/" },
WV: { name:"West Virginia", permit:"(304) 558-3063", police:"(304) 746-2100", email:"permits@wvdoh.example.gov", hours:"M-F 7am-4pm ET", portal:"https://transportation.wv.gov/" },
WI: { name:"Wisconsin", permit:"(608) 266-7320", police:"(608) 266-3212", email:"permits@wisdot.example.gov", hours:"M-F 7am-4:30pm CT", portal:"https://wisconsindot.gov/" },
WY: { name:"Wyoming", permit:"(307) 777-4375", police:"(307) 777-4301", email:"permits@wydot.example.gov", hours:"M-F 8am-5pm MT", portal:"https://www.dot.state.wy.us/" },
DC: { name:"District of Columbia", permit:"(202) 673-6813", police:"(202) 727-9099", email:"permits@ddot.example.gov", hours:"M-F 8:30am-4:30pm ET", portal:"https://ddot.dc.gov/" }
};
// =====================================================================
// STATE EQUIPMENT REQUIREMENTS (Module 12)
// Detailed data for major trucking states; others show "Data coming soon"
// =====================================================================
const MOCK_STATE_EQUIPMENT = {
TX: {
escort: {
certification: "Required — must complete TxDMV-approved pilot/escort vehicle course",
vehicle: "Passenger car, pickup, or SUV — no commercial vehicles",
signs: "OVERSIZE LOAD sign, minimum 7' wide × 18\" tall, yellow background, black letters, front and rear",
lights: "2 amber rotating or strobe lights mounted on roof, visible from 500'",
heightPole: "Required when leading overheight loads exceeding 15'",
flags: "18\" red/orange fluorescent flags at 4 corners of vehicle",
communication: "CB radio required — channel 19 monitored at all times",
safety: "First aid kit, 10BC fire extinguisher, flashlight, reflective vest"
},
carrier: {
signs: "OVERSIZE LOAD banner — roof-mounted or bumper-mounted permitted, yellow/black, min 7'×18\"",
flags: "18\" red/orange flags at each corner and extremity of load",
lights: "Amber flashing lights at widest points of load, front and rear",
cones: "Not required by state, but recommended",
fireExtinguisher: "10BC rated fire extinguisher required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required by state"
}
},
CA: {
escort: {
certification: "Required — CHP-approved Pilot Car Escort Training (PCET) certification",
vehicle: "Must pass annual CHP inspection — car, pickup, or SUV",
signs: "OVERSIZE LOAD sign front and rear, min 6' wide × 18\" tall, reflective",
lights: "Amber flashing light on roof, visible 360°",
heightPole: "Required for all overheight loads — must extend to load height plus 6\"",
flags: "Red/orange fluorescent flags, 18\" min, at 4 corners",
communication: "Two-way radio or CB required",
safety: "First aid kit, fire extinguisher, 3 reflective triangles, reflective vest, flashlight"
},
carrier: {
signs: "OVERSIZE LOAD banner — ROOF-MOUNTED REQUIRED, reflective, min 7'×18\"",
flags: "Red/orange flags at extremities, 18\" min — required day and night",
lights: "Amber warning lights at widest points, amber flashers on truck",
cones: "6 traffic cones required (28\" min height)",
fireExtinguisher: "10BC rated required",
triangles: "3 reflective triangles required",
flares: "3 fuses/flares required",
firstAid: "First aid kit required"
}
},
OH: {
escort: {
certification: "Not state-mandated, but ODOT recommends completion of training course",
vehicle: "Passenger vehicle or light-duty truck",
signs: "OVERSIZE LOAD sign, yellow/black, min 5' wide × 10\" tall",
lights: "Amber rotating or flashing light on roof",
heightPole: "Required when escorting overheight loads",
flags: "Orange flags at corners of vehicle",
communication: "CB radio recommended, cell phone minimum",
safety: "Fire extinguisher, first aid kit recommended"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper-mounted permitted, min 7'×18\"",
flags: "Red/orange flags at extremities of load",
lights: "Amber flashing lights on widest points of load",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
PA: {
escort: {
certification: "Required — PennDOT approved training course",
vehicle: "Single-unit vehicle, must be registered and insured",
signs: "OVERSIZE LOAD sign, yellow/black, front and rear",
lights: "Amber 360° flashing/rotating light on roof, visible 500'",
heightPole: "Required for overheight loads on Turnpike; recommended elsewhere",
flags: "Red/orange flags at 4 corners",
communication: "CB radio required",
safety: "First aid kit, fire extinguisher, reflective vest, flashlight"
},
carrier: {
signs: "OVERSIZE LOAD sign — front and rear of vehicle, roof-mounted on tractor",
flags: "Red/orange fluorescent flags at extremities and corners of load",
lights: "Amber rotating light on cab, amber lights at widest points",
cones: "Not required",
fireExtinguisher: "10BC rated required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
FL: {
escort: {
certification: "Not state-mandated — no formal certification program",
vehicle: "Any passenger vehicle or light truck",
signs: "OVERSIZE LOAD sign, yellow/black, displayed prominently",
lights: "Amber rotating or strobe light on roof",
heightPole: "Required for overheight loads when escort is in front",
flags: "Red/orange flags at corners of escort vehicle",
communication: "CB radio or two-way radio required",
safety: "Fire extinguisher recommended, first aid kit recommended"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper-mounted or roof-mounted, min 7'×18\"",
flags: "18\" red/orange flags at each extremity of load",
lights: "Amber warning lights at widest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
GA: {
escort: {
certification: "Not state-mandated — training recommended",
vehicle: "Passenger vehicle or light-duty truck",
signs: "OVERSIZE LOAD sign front and rear",
lights: "Amber flashing or rotating light, roof-mounted",
heightPole: "Required for overheight loads",
flags: "Red/orange flags at corners",
communication: "CB radio or cell phone",
safety: "Fire extinguisher, first aid kit"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper-mounted permitted",
flags: "Red/orange flags at extremities",
lights: "Amber flashers at widest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
IL: {
escort: {
certification: "Not state-mandated",
vehicle: "Single-unit passenger vehicle",
signs: "OVERSIZE LOAD sign, front and rear, yellow/black",
lights: "Amber rotating light on roof",
heightPole: "Required for overheight escorts",
flags: "Red/orange flags at 4 corners",
communication: "CB radio required for loads over 14' wide",
safety: "Fire extinguisher, reflective vest"
},
carrier: {
signs: "OVERSIZE LOAD banner — front and rear, roof or bumper mount allowed",
flags: "Red/orange flags at load extremities and corners, 18\" min",
lights: "Amber flashers on widest points, rotating amber on cab",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
NY: {
escort: {
certification: "Required — NYSDOT approved escort vehicle operator course",
vehicle: "Passenger vehicle, under 10,000 lbs GVW",
signs: "OVERSIZE LOAD sign front and rear, black on yellow, reflective",
lights: "Amber 360° light, roof-mounted, visible 500'",
heightPole: "Required for all overheight loads in the state",
flags: "18\" red/orange flags at all 4 corners",
communication: "CB radio required, cell phone as backup",
safety: "First aid kit, fire extinguisher, 3 reflective triangles, reflective vest"
},
carrier: {
signs: "OVERSIZE LOAD sign — ROOF-MOUNTED REQUIRED on tractor",
flags: "Red/orange flags at all corners and extremities, 18\" min",
lights: "Amber rotating on cab, amber flashers at widest points of load",
cones: "Not required",
fireExtinguisher: "10BC required",
triangles: "3 reflective triangles required",
flares: "3 fusees required",
firstAid: "Not required"
}
},
NC: {
escort: {
certification: "Not state-mandated — recommended",
vehicle: "Passenger vehicle or light truck",
signs: "OVERSIZE LOAD sign front and rear",
lights: "Amber rotating/flashing on roof",
heightPole: "Required for overheight loads",
flags: "Red/orange flags at corners",
communication: "CB radio recommended",
safety: "Fire extinguisher, first aid kit recommended"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper-mounted permitted",
flags: "Red/orange flags at extremities",
lights: "Amber flashers at widest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 required",
flares: "Not required",
firstAid: "Not required"
}
},
LA: {
escort: {
certification: "Not state-mandated",
vehicle: "Passenger vehicle or light truck",
signs: "OVERSIZE LOAD sign, front and rear, yellow/black",
lights: "Amber rotating light on roof",
heightPole: "Required for overheight loads exceeding 14'6\"",
flags: "Red/orange flags at all corners",
communication: "CB radio required",
safety: "Fire extinguisher, first aid kit"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper or roof mount",
flags: "Red/orange flags at extremities, 18\" min",
lights: "Amber warning lights at widest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 required",
flares: "Not required",
firstAid: "Not required"
}
},
OK: {
escort: {
certification: "Not state-mandated",
vehicle: "Passenger vehicle or pickup truck",
signs: "OVERSIZE LOAD sign, yellow/black, front and rear",
lights: "Amber rotating or strobe on roof",
heightPole: "Required for overheight loads",
flags: "Red/orange flags at 4 corners",
communication: "CB radio required",
safety: "Fire extinguisher, flashlight"
},
carrier: {
signs: "OVERSIZE LOAD banner — bumper-mounted or roof-mounted accepted",
flags: "Red/orange flags at all corners and extremities",
lights: "Amber flashers at widest/tallest/longest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 reflective triangles required",
flares: "Not required",
firstAid: "Not required"
}
},
IN: {
escort: {
certification: "Not state-mandated — INDOT recommends training",
vehicle: "Passenger vehicle or light truck",
signs: "OVERSIZE LOAD sign, front and rear",
lights: "Amber rotating/flashing light on roof",
heightPole: "Required for overheight loads",
flags: "Orange flags at corners",
communication: "CB radio or cell phone",
safety: "Fire extinguisher recommended"
},
carrier: {
signs: "OVERSIZE LOAD banner — front and rear, bumper mount OK",
flags: "Red/orange flags at extremities",
lights: "Amber flashers at widest points",
cones: "Not required",
fireExtinguisher: "Required",
triangles: "3 required",
flares: "Not required",
firstAid: "Not required"
}
}
};
// =====================================================================
// TRUCK STOPS & PARKING (Module 5)
// =====================================================================
const MOCK_TRUCK_STOPS = [
{
id:"TS-001", name:"Sapp Bros. Travel Center", type:"truck_stop",
location:{ city:"Amarillo", state:"TX", lat:35.19, lng:-101.78 },
oversizeFriendly:true, entranceWidth:"26'", entranceHeight:"No restriction",
lotSize:"4.2 acres total", oversizeCapacity:"5-6 oversize loads",
facilities:["fuel","food","restrooms","showers","mechanic","scale"],
description:"Large open lot on the south side. Adjacent gravel area can fit extra-wide loads. South entrance is best for oversize.",
comments:[
{ user:"TruckerMike_TX", date:"2026-03-15", text:"Parked a 16'4\" wide wind blade here. South lot had plenty of room. Use the south entrance off the service road." },
{ user:"HighPolePete", date:"2026-02-28", text:"South entrance is the only one that works for oversize. North has tight posts. Good fuel prices." }
]
},
{
id:"TS-002", name:"Iowa 80 Truckstop", type:"truck_stop",
location:{ city:"Walcott", state:"IA", lat:41.58, lng:-90.77 },
oversizeFriendly:true, entranceWidth:"30'+", entranceHeight:"No restriction",
lotSize:"8+ acres total", oversizeCapacity:"10+ oversize loads",
facilities:["fuel","food","restrooms","showers","mechanic","scale","trucking_museum","barber","chiropractor"],
description:"World's largest truck stop. Massive open lot on east side regularly used for oversize staging. Multiple wide entrances.",
comments:[
{ user:"MidwestHauler", date:"2026-03-20", text:"Best oversize parking on I-80. East lot is huge — I've seen 3 blade trucks staged here at once." },
{ user:"BladRunner_IA", date:"2026-03-05", text:"Great staging area for wind energy loads heading south on I-80 to I-35." }
]
},
{
id:"TS-003", name:"Petro Stopping Center", type:"truck_stop",
location:{ city:"Rochelle", state:"IL", lat:41.92, lng:-89.07 },
oversizeFriendly:true, entranceWidth:"24'", entranceHeight:"No restriction",
lotSize:"3.8 acres", oversizeCapacity:"3-4 oversize loads",
facilities:["fuel","food","restrooms","showers","iron_skillet"],
description:"I-39/I-88 junction location. Open area behind main lot can accommodate oversized loads. Wind blade traffic common.",
comments:[
{ user:"PrairiePilot", date:"2026-03-10", text:"Regular stop for blade loads on I-39 corridor. Back lot is gravel but solid ground." }
]
},
{
id:"TS-004", name:"Breezewood Travel Plaza", type:"rest_area",
location:{ city:"Breezewood", state:"PA", lat:39.99, lng:-78.24 },
oversizeFriendly:false, entranceWidth:"14'", entranceHeight:"13'8\" (canopy)",
lotSize:"2 acres", oversizeCapacity:"1-2 standard oversize only",
facilities:["fuel","food","restrooms"],
description:"Famous I-70/I-76 interchange. Very tight for oversize — canopy restricts height. NOT recommended for wide or tall loads.",
comments:[
{ user:"KeystoneEscort", date:"2026-03-22", text:"DO NOT bring oversize through the main fuel canopy. There's a pull-off east of the plaza on the service road that works in a pinch." },
{ user:"NE_Hauler", date:"2026-02-15", text:"Avoid this place with anything over 12' wide. The whole town is a bottleneck. Plan to fuel before or after." }
]
},
{
id:"TS-005", name:"Buc-ee's", type:"truck_stop",
location:{ city:"Terrell", state:"TX", lat:32.72, lng:-96.22 },
oversizeFriendly:true, entranceWidth:"28'", entranceHeight:"No restriction",
lotSize:"5+ acres", oversizeCapacity:"4-5 oversize loads",
facilities:["fuel","food","restrooms","ev_charging"],
description:"Massive lot with wide lanes. Oversize can park on the outer perimeter. No dedicated truck parking but plenty of space.",
comments:[
{ user:"LoneStarOS", date:"2026-03-18", text:"Clean restrooms and great food. Park on the far east side — wide open and easy in/out." }
]
},
{
id:"TS-006", name:"Pilot Travel Center", type:"truck_stop",
location:{ city:"Salina", state:"KS", lat:38.81, lng:-97.59 },
oversizeFriendly:true, entranceWidth:"24'", entranceHeight:"No restriction",
lotSize:"3.5 acres", oversizeCapacity:"3-4 oversize loads",
facilities:["fuel","food","restrooms","showers","scale"],
description:"I-70/I-135 junction. Good oversize parking behind the main lot. Flat gravel area to the south.",
comments:[
{ user:"KSWindHauler", date:"2026-03-12", text:"Solid mid-Kansas stop. South gravel lot handles blade trucks fine." }
]
},
{
id:"TS-007", name:"Little America Travel Center", type:"truck_stop",
location:{ city:"Little America", state:"WY", lat:41.54, lng:-110.07 },
oversizeFriendly:true, entranceWidth:"30'+", entranceHeight:"No restriction",
lotSize:"6 acres", oversizeCapacity:"6-8 oversize loads",
facilities:["fuel","food","restrooms","hotel","showers"],
description:"Remote I-80 oasis with enormous lot. Very oversize-friendly — wide open spaces. Common staging point for loads heading through Wyoming.",
comments:[
{ user:"RockyMtnLog", date:"2026-03-08", text:"Best oversize stop in southern Wyoming. Huge lot, 24/7 fuel. Wind can be brutal though — check conditions before stopping." },
{ user:"WYO_Escort", date:"2026-02-20", text:"We stage here all the time for loads heading east or west on I-80. Hotel is decent for overnight." }
]
},
{
id:"TS-008", name:"Bosselman Travel Center", type:"truck_stop",
location:{ city:"North Platte", state:"NE", lat:41.11, lng:-100.77 },
oversizeFriendly:true, entranceWidth:"24'", entranceHeight:"No restriction",
lotSize:"3 acres", oversizeCapacity:"3-4 oversize loads",
facilities:["fuel","food","restrooms","showers","mechanic"],
description:"I-80 corridor stop. Open area north of main lot usable for oversize. Regular wind turbine traffic.",
comments:[
{ user:"NE_OversizeOps", date:"2026-03-01", text:"Good stop on the I-80 wind corridor. North lot is gravel and fits wide loads." }
]
},
{
id:"TS-009", name:"Flying J Travel Center", type:"truck_stop",
location:{ city:"Dillon", state:"SC", lat:34.41, lng:-79.39 },
oversizeFriendly:true, entranceWidth:"22'", entranceHeight:"No restriction",
lotSize:"3.2 acres", oversizeCapacity:"2-3 oversize loads",
facilities:["fuel","food","restrooms","showers","scale"],
description:"I-95/I-20 junction. Some oversize parking on the east side. Gets busy — arrive early.",
comments:[
{ user:"PeachStateP", date:"2026-03-14", text:"East side has room for 2-3 oversize rigs. Tight during peak hours though." }
]
},
{
id:"TS-010", name:"Love's Travel Stop", type:"truck_stop",
location:{ city:"Eloy", state:"AZ", lat:32.74, lng:-111.54 },
oversizeFriendly:true, entranceWidth:"26'", entranceHeight:"No restriction",
lotSize:"4 acres", oversizeCapacity:"4-5 oversize loads",
facilities:["fuel","food","restrooms","showers"],
description:"I-10 corridor between Phoenix and Tucson. Open desert lot on south side handles oversize well.",
comments:[
{ user:"DesertSun_TX", date:"2026-03-25", text:"Good I-10 stop. South lot is flat and open. Carry extra water — it's the desert." }
]
}
];
// =====================================================================
// BRIDGE & OVERPASS CLEARANCES (Module 6)
// =====================================================================
const MOCK_BRIDGE_CLEARANCES = [
{ id:"BR-001", route:"I-95 NB", mileMarker:"67.2", type:"Overpass",
location:{ desc:"Fort McHenry Tunnel approach", city:"Baltimore", state:"MD", lat:39.26, lng:-76.58 },
clearanceHeight:"13'6\"", clearanceWidth:"No restriction", weightLimit:"80,000 lbs (standard)",
notes:"Major bottleneck for overheight loads on I-95 NB. Overheight loads must use I-695 bypass around Baltimore." },
{ id:"BR-002", route:"I-70 WB", mileMarker:"213.5", type:"Tunnel",
location:{ desc:"Eisenhower-Johnson Memorial Tunnel", city:"Silver Plume", state:"CO", lat:39.68, lng:-105.91 },
clearanceHeight:"13'11\"", clearanceWidth:"13'0\" (per lane)", weightLimit:"Route-specific",
notes:"Highest point on the Interstate system. Oversize loads often must use US-6 Loveland Pass detour. Hazmat prohibited." },
{ id:"BR-003", route:"I-64 WB", mileMarker:"58.1", type:"Tunnel",
location:{ desc:"East River Mountain Tunnel", city:"Near Bluefield", state:"WV", lat:37.37, lng:-81.10 },
clearanceHeight:"15'5\"", clearanceWidth:"12'0\" (per lane)", weightLimit:"80,000 lbs",
notes:"Two-lane bore with restricted width. Overwide loads must use alternate routes. Frequent delays." },
{ id:"BR-004", route:"I-35 SB", mileMarker:"429.8", type:"Overpass",
location:{ desc:"Downtown Dallas interchange", city:"Dallas", state:"TX", lat:32.79, lng:-96.80 },
clearanceHeight:"14'0\"", clearanceWidth:"No restriction", weightLimit:"Standard",
notes:"Several low overpasses through downtown Dallas on I-35E. Overheight loads should use I-35W bypass through Fort Worth." },
{ id:"BR-005", route:"I-76 EB", mileMarker:"161.3", type:"Overpass",
location:{ desc:"Pennsylvania Turnpike — Valley Forge area", city:"King of Prussia", state:"PA", lat:40.09, lng:-75.38 },
clearanceHeight:"14'2\"", clearanceWidth:"No restriction", weightLimit:"Turnpike limits apply",
notes:"PA Turnpike has numerous older overpasses with restricted clearances. Contact Turnpike Commission for oversize routing." },
{ id:"BR-006", route:"US-20 EB", mileMarker:"N/A", type:"Overpass (multiple)",
location:{ desc:"Route 20 through Connecticut", city:"Various", state:"CT", lat:41.60, lng:-72.75 },
clearanceHeight:"12'6\" — 13'6\" (varies)", clearanceWidth:"Restricted at several points", weightLimit:"Varies by bridge",
notes:"Multiple low clearance overpasses along US-20 through CT. Not recommended for overheight. Use I-84 or I-91 where possible." },
{ id:"BR-007", route:"I-90 WB", mileMarker:"52.4", type:"Overpass",
location:{ desc:"Chicago Skyway / Dan Ryan interchange", city:"Chicago", state:"IL", lat:41.72, lng:-87.56 },
clearanceHeight:"14'0\"", clearanceWidth:"No restriction", weightLimit:"Standard",
notes:"Chicago metro area has multiple low overpasses. Oversize loads require IDOT-approved routing through the metro." },
{ id:"BR-008", route:"I-24 EB", mileMarker:"174.9", type:"Overpass",
location:{ desc:"Chattanooga downtown area", city:"Chattanooga", state:"TN", lat:35.04, lng:-85.28 },
clearanceHeight:"14'4\"", clearanceWidth:"No restriction", weightLimit:"Standard",
notes:"Series of overpasses through downtown Chattanooga with varying clearances. Check permit routing carefully." },
{ id:"BR-009", route:"I-10 EB", mileMarker:"768.3", type:"Overpass",
location:{ desc:"Houston ship channel bridge approaches", city:"Houston", state:"TX", lat:29.74, lng:-95.09 },
clearanceHeight:"Varies — 14'6\" to 16'2\"", clearanceWidth:"No restriction", weightLimit:"Standard",
notes:"Complex interchange area with varying clearances. Follow permitted route exactly. Some ramps have lower clearances than mainline." },
{ id:"BR-010", route:"I-81 SB", mileMarker:"300.1", type:"Overpass",
location:{ desc:"Harrisburg area", city:"Harrisburg", state:"PA", lat:40.28, lng:-76.87 },
clearanceHeight:"14'6\"", clearanceWidth:"No restriction", weightLimit:"Standard",
notes:"Several overpasses in the Harrisburg metro with clearances between 14' and 15'. Common corridor for northeast oversize traffic." }
];
// =====================================================================
// WEIGH STATIONS (Module 13)
// =====================================================================
const MOCK_WEIGH_STATIONS = [
{ id:"WS-001", name:"Hillsboro Weigh Station", route:"I-35 NB",
location:{ city:"Hillsboro", state:"TX", lat:31.98, lng:-97.13 },
hours:"24/7", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T14:30:00Z", flaggedBy:"TruckerJoe42",
notes:"Oversize loads almost always pulled in for inspection. Have permits readily accessible." },
{ id:"WS-002", name:"Ehrenberg Port of Entry", route:"I-10 WB",
location:{ city:"Ehrenberg", state:"AZ", lat:33.60, lng:-114.52 },
hours:"24/7", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T11:00:00Z", flaggedBy:"DesertSun",
notes:"California/Arizona border checkpoint. All oversize must stop. Can have long lines during morning hours." },
{ id:"WS-003", name:"Darien Weigh Station", route:"I-95 NB",
location:{ city:"Darien", state:"GA", lat:31.38, lng:-81.44 },
hours:"6am-10pm", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T09:15:00Z", flaggedBy:"SE_Hauler",
notes:"Florida/Georgia border area. Oversize permits checked regularly." },
{ id:"WS-004", name:"Upton Weigh Station", route:"I-80 EB",
location:{ city:"Upton", state:"WY", lat:41.00, lng:-104.62 },
hours:"24/7", prePass:false,
currentStatus:"closed", lastFlagged:"2026-03-29T16:45:00Z", flaggedBy:"WYO_Escort",
notes:"Wyoming/Nebraska border area. All commercial traffic must stop when open. Wind closures may affect station hours." },
{ id:"WS-005", name:"Moriarty Port of Entry", route:"I-40 EB",
location:{ city:"Moriarty", state:"NM", lat:34.99, lng:-106.05 },
hours:"24/7", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T10:30:00Z", flaggedBy:"SW_Oversize",
notes:"East of Albuquerque. All commercial vehicles must report. Oversize permits verified." },
{ id:"WS-006", name:"Robertson County Scales", route:"I-65 NB",
location:{ city:"Cross Plains", state:"TN", lat:36.53, lng:-86.69 },
hours:"6am-10pm", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T08:00:00Z", flaggedBy:"VolunteerEscort",
notes:"North of Nashville. Moderate traffic. Oversize loads may be pulled in for permit check." },
{ id:"WS-007", name:"Lodi Weigh Station", route:"I-71 SB",
location:{ city:"Lodi", state:"OH", lat:41.04, lng:-82.01 },
hours:"7am-7pm", prePass:true,
currentStatus:"closed", lastFlagged:"2026-03-28T17:00:00Z", flaggedBy:"BuckeyePilot",
notes:"Between Cleveland and Columbus on I-71. Intermittent operation — often closed on weekends." },
{ id:"WS-008", name:"Clearfield Weigh Station", route:"I-80 WB",
location:{ city:"Clearfield", state:"PA", lat:41.01, lng:-78.44 },
hours:"6am-10pm", prePass:false,
currentStatus:"open", lastFlagged:"2026-03-29T12:00:00Z", flaggedBy:"PA_HeavyHaul",
notes:"Central PA on I-80. Oversize loads inspected — have PA permit documentation ready." },
{ id:"WS-009", name:"Woodburn Port of Entry", route:"I-5 NB",
location:{ city:"Woodburn", state:"OR", lat:45.15, lng:-122.85 },
hours:"24/7", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T07:30:00Z", flaggedBy:"PNW_Pilot",
notes:"Major I-5 checkpoint. All commercial vehicles must stop. Oregon has strict oversize enforcement." },
{ id:"WS-010", name:"Fargo Weigh Station", route:"I-94 WB",
location:{ city:"West Fargo", state:"ND", lat:46.87, lng:-96.92 },
hours:"7am-9pm", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T13:00:00Z", flaggedBy:"PrairieHauler",
notes:"Minnesota/North Dakota border area. Oil field and wind energy traffic frequent. Oversize permits checked." },
{ id:"WS-011", name:"Marshall Weigh Station", route:"I-20 EB",
location:{ city:"Marshall", state:"TX", lat:32.54, lng:-94.37 },
hours:"24/7", prePass:true,
currentStatus:"open", lastFlagged:"2026-03-29T15:00:00Z", flaggedBy:"LoneStarEscort",
notes:"East Texas near Louisiana border. All commercial vehicles must stop when open." },
{ id:"WS-012", name:"Valdosta Weigh Station", route:"I-75 NB",
location:{ city:"Valdosta", state:"GA", lat:30.87, lng:-83.28 },
hours:"6am-10pm", prePass:true,
currentStatus:"closed", lastFlagged:"2026-03-28T20:00:00Z", flaggedBy:"SE_Oversized",
notes:"Florida/Georgia border on I-75. Oversize loads always pulled in when station is open." }
];
// =====================================================================
// ROUTE CONDITIONS (Module 7)
// =====================================================================
const MOCK_ROUTE_CONDITIONS = [
{ id:"RC-001", type:"construction", severity:"major",
route:"I-10 WB", location:{ desc:"Between Tucson and Phoenix", state:"AZ", lat:32.43, lng:-111.57 },
description:"Lane closure restricting width to 11'6\". Oversize loads over 12' wide CANNOT pass — contact ADOT for route amendment.",
startDate:"2026-03-01", endDate:"2026-06-30", source:"ADOT 511", affectsOversize:true },
{ id:"RC-002", type:"closure", severity:"critical",
route:"I-40 EB", location:{ desc:"Bridge replacement near Flagstaff", state:"AZ", lat:35.17, lng:-111.68 },
description:"Full eastbound closure 9pm-5am nightly. Oversize loads on single-trip permits must contact ADOT for revised routing or schedule around closure.",
startDate:"2026-03-15", endDate:"2026-05-15", source:"ADOT 511", affectsOversize:true },
{ id:"RC-003", type:"construction", severity:"moderate",
route:"I-35 NB/SB", location:{ desc:"Oklahoma City metro area", state:"OK", lat:35.47, lng:-97.52 },
description:"Ongoing I-35/I-44 interchange reconstruction. Lane shifts and temporary barriers — oversize loads limited to 14' wide through work zone.",
startDate:"2026-01-15", endDate:"2026-09-30", source:"ODOT", affectsOversize:true },
{ id:"RC-004", type:"construction", severity:"minor",
route:"I-80 EB", location:{ desc:"Near North Platte", state:"NE", lat:41.12, lng:-100.78 },
description:"Shoulder work — right lane may be narrowed. Oversize loads over 14' wide should use caution. No permits affected.",
startDate:"2026-04-01", endDate:"2026-04-15", source:"NDOT", affectsOversize:false },
{ id:"RC-005", type:"closure", severity:"major",
route:"US-93 NB", location:{ desc:"Mountain pass south of Missoula", state:"MT", lat:46.32, lng:-113.86 },
description:"Seasonal closure for snow removal. Route impassable for all traffic. Oversize loads must use I-90 alternate.",
startDate:"2025-11-15", endDate:"2026-04-30", source:"MDT", affectsOversize:true },
{ id:"RC-006", type:"construction", severity:"moderate",
route:"I-75 SB", location:{ desc:"Atlanta metro — I-285 interchange", state:"GA", lat:33.85, lng:-84.36 },
description:"Interchange reconstruction. Lane restrictions and temporary barriers. Oversize loads over 12' wide must travel between 9pm-5am through work zone.",
startDate:"2026-02-01", endDate:"2026-08-30", source:"GDOT", affectsOversize:true }
];
// =====================================================================
// WEATHER / WIND ALERTS (Module 8)
// =====================================================================
const MOCK_WEATHER_ALERTS = [
{ id:"WX-001", type:"wind", severity:"warning",
region:"Texas Panhandle / Western Oklahoma",
routes:["I-40", "US-287", "US-83"],
description:"High Wind Warning — sustained winds 40-50 mph with gusts to 65 mph. Wide loads (12'+) should NOT travel.",
validFrom:"2026-03-30T06:00:00Z", validTo:"2026-03-30T22:00:00Z",
source:"NWS Amarillo", lat:35.22, lng:-101.83 },
{ id:"WX-002", type:"wind", severity:"advisory",
region:"Wyoming I-80 corridor",
routes:["I-80", "US-30"],
description:"Wind Advisory — crosswinds 25-35 mph with gusts to 50 mph. Light/high-profile oversize loads use extreme caution.",
validFrom:"2026-03-30T12:00:00Z", validTo:"2026-03-31T06:00:00Z",
source:"NWS Riverton", lat:41.54, lng:-107.22 },
{ id:"WX-003", type:"winter", severity:"warning",
region:"Colorado Rocky Mountains",
routes:["I-70 west of Denver", "US-6 Loveland Pass"],
description:"Winter Storm Warning — 12-18\" snow expected above 9,000'. Chain law in effect on I-70 in mountains. Oversize travel not recommended.",
validFrom:"2026-03-30T00:00:00Z", validTo:"2026-03-31T12:00:00Z",
source:"NWS Denver", lat:39.68, lng:-105.91 },
{ id:"WX-004", type:"fog", severity:"advisory",
region:"Central California Valley",
routes:["I-5", "CA-99"],
description:"Dense Fog Advisory — visibility below 1/4 mile. Oversize loads should delay departure until fog lifts. Expected to clear by 10am.",
validFrom:"2026-03-30T04:00:00Z", validTo:"2026-03-30T17:00:00Z",
source:"NWS Hanford", lat:36.60, lng:-119.77 },
{ id:"WX-005", type:"thunderstorm", severity:"watch",
region:"Central Texas / Oklahoma",
routes:["I-35", "I-44", "US-69"],
description:"Severe Thunderstorm Watch — potential for large hail and damaging winds. Wide loads should seek shelter if storms develop.",
validFrom:"2026-03-30T18:00:00Z", validTo:"2026-03-31T02:00:00Z",
source:"NWS Norman", lat:34.20, lng:-97.40 }
];
// =====================================================================
// SEASONAL RESTRICTIONS (Module 15)
// =====================================================================
const MOCK_SEASONAL_RESTRICTIONS = [
{ id:"SR-001", state:"MN", stateName:"Minnesota", type:"spring_weight", color:"#3b82f6",
title:"Spring Weight Restrictions",
startMonth:3, startDay:1, endMonth:5, endDay:15,
routes:"Most state highways (interstates generally exempt)",
description:"Weight restrictions to prevent road damage during spring thaw. Exact dates vary annually based on frost conditions. Check MnDOT for current year dates.",
impact:"Reduced weight limits — overweight loads may need to delay or use interstate-only routing." },
{ id:"SR-002", state:"WI", stateName:"Wisconsin", type:"spring_weight", color:"#3b82f6",
title:"Spring Weight Restrictions (Frost Law)",
startMonth:3, startDay:1, endMonth:5, endDay:15,
routes:"State and county highways (interstates exempt)",
description:"Annual frost law restrictions. Posted roads have reduced weight limits during spring thaw period.",
impact:"Overweight loads restricted on posted routes. Plan for interstate-only routing." },
{ id:"SR-003", state:"ND", stateName:"North Dakota", type:"spring_weight", color:"#3b82f6",
title:"Spring Load Restrictions",
startMonth:3, startDay:1, endMonth:5, endDay:31,
routes:"State highways and county roads",
description:"Annual spring load restrictions. Oil field and wind energy loads frequently affected.",
impact:"Weight limits reduced on state highways. Heavy loads should delay or use approved routes." },
{ id:"SR-004", state:"CO", stateName:"Colorado", type:"winter_closure", color:"#6366f1",
title:"Mountain Pass Seasonal Closures",
startMonth:10, startDay:15, endMonth:5, endDay:30,
routes:"Independence Pass (CO-82), Cottonwood Pass, Hagerman Pass, various unpaved passes",
description:"High mountain passes close for winter. I-70 remains open but may have chain laws and traction requirements.",
impact:"Oversize loads must use lower-elevation routes. I-70 Eisenhower Tunnel has height/width restrictions." },
{ id:"SR-005", state:"MT", stateName:"Montana", type:"winter_closure", color:"#6366f1",
title:"Mountain Pass Restrictions",
startMonth:11, startDay:1, endMonth:4, endDay:30,
routes:"Beartooth Highway (US-212), Going-to-the-Sun Road, various forest roads",
description:"High passes close for winter. Major corridors (I-90, I-15) remain open but conditions vary.",
impact:"Alternative routing may be required. Check MDT road conditions before departure." },
{ id:"SR-006", state:"WY", stateName:"Wyoming", type:"wind_season", color:"#f59e0b",
title:"High Wind Season",
startMonth:11, startDay:1, endMonth:4, endDay:30,
routes:"I-80, I-25 (especially southern Wyoming)",
description:"Severe crosswinds are common October through April, especially on I-80. Wind closures can last hours or days.",
impact:"Wide loads (12'+) frequently delayed or stopped. Monitor WYDOT road conditions. Budget extra travel days." },
{ id:"SR-007", state:"TX", stateName:"Texas", type:"holiday_blackout", color:"#ef4444",
title:"Holiday Travel Blackouts",
startMonth:1, startDay:1, endMonth:12, endDay:31,
routes:"All routes statewide",
description:"No oversize load movement on: New Year's Day, Memorial Day weekend (Sat-Mon), July 4th, Labor Day weekend (Sat-Mon), Thanksgiving (Thu-Sun), Christmas (Dec 24-26).",
impact:"Schedule loads to avoid holiday blackout periods. Loads in transit must park and wait." },
{ id:"SR-008", state:"IA", stateName:"Iowa", type:"spring_weight", color:"#3b82f6",
title:"Spring Frost Restrictions",
startMonth:2, startDay:15, endMonth:5, endDay:15,
routes:"County roads and some state highways",
description:"Frost-related weight restrictions. Wind energy loads frequently affected as many wind farm access roads are county-maintained.",
impact:"Heavy loads may need to delay. County permits may be suspended during restriction period." },
{ id:"SR-009", state:"NY", stateName:"New York", type:"holiday_blackout", color:"#ef4444",
title:"NYC Metro Oversize Blackouts",
startMonth:1, startDay:1, endMonth:12, endDay:31,
routes:"All routes in NYC boroughs, George Washington Bridge, major bridges/tunnels",
description:"NYC restricts oversize movement year-round except with special NYPD escort. Additional blackouts during holidays, events, and UN General Assembly (September).",
impact:"Route around NYC whenever possible. Allow 2+ weeks for NYPD escort coordination." },
{ id:"SR-010", state:"OR", stateName:"Oregon", type:"harvest_season", color:"#22c55e",
title:"Harvest Season Restrictions",
startMonth:8, startDay:1, endMonth:10, endDay:31,
routes:"Agricultural areas — Willamette Valley, Eastern Oregon farming regions",
description:"Increased farm equipment on roads during harvest. Some county roads may have temporary restrictions or slow farm equipment traffic.",
impact:"Expect slower travel through agricultural areas. Farm equipment may block narrow roads." }
];
// =====================================================================
// MOCK DOCUMENTS (Module 9 — Document Vault demo)
// =====================================================================
const MOCK_DOCUMENTS = [
{ id:"DOC-001", name:"TX Single Trip Permit — Load #LB-2026-006", type:"permit", state:"TX",
uploadDate:"2026-03-28", expiryDate:"2026-04-15", fileSize:"245 KB", status:"active" },
{ id:"DOC-002", name:"OK Single Trip Permit — Load #LB-2026-006", type:"permit", state:"OK",
uploadDate:"2026-03-28", expiryDate:"2026-04-15", fileSize:"198 KB", status:"active" },
{ id:"DOC-003", name:"Commercial Auto Insurance — Policy #CAI-2026-445", type:"insurance",
uploadDate:"2026-01-15", expiryDate:"2026-07-15", fileSize:"1.2 MB", status:"active" },
{ id:"DOC-004", name:"General Liability Certificate", type:"insurance",
uploadDate:"2026-01-15", expiryDate:"2027-01-15", fileSize:"890 KB", status:"active" },
{ id:"DOC-005", name:"TX Pilot Car Certification", type:"certification", state:"TX",
uploadDate:"2025-09-10", expiryDate:"2027-09-10", fileSize:"156 KB", status:"active" },
{ id:"DOC-006", name:"CA PCET Certification", type:"certification", state:"CA",
uploadDate:"2025-06-20", expiryDate:"2027-06-20", fileSize:"178 KB", status:"active" },
{ id:"DOC-007", name:"OH Annual Oversize Permit — 2025", type:"permit", state:"OH",
uploadDate:"2025-03-01", expiryDate:"2026-02-28", fileSize:"312 KB", status:"expired" },
{ id:"DOC-008", name:"Vehicle Registration — 2024 Ford F-150", type:"registration",
uploadDate:"2026-02-01", expiryDate:"2027-02-01", fileSize:"98 KB", status:"active" }
];