{"$comment":"Fictional service organisation: depots in real cities, crews, stock and tools. Times in hours from now; costs illustrative.","rates":{"techPerHour":115,"courierPerKm":1.1,"shiftStart":6,"shiftEnd":20,"pricePerMWhFallback":74,"workdayHours":10,"vanPerKm":1.1,"remoteHour":480,"$comment":"Technician €115/h (industrial service price lists 2025/26: €102–186/h; travel billed at the same rate), van and courier €1.10/km, lost energy at the 2025 market value of onshore wind (7.441 ct/kWh), remote support €480 per hour."},"hubs":[{"id":"HUS","name":"Husum depot","city":"Husum","lat":54.48,"lon":9.05,"stock":{"hss_bearing_kit":0,"main_bearing_unit":0,"gen_bearing_kit":1,"coupling_insert":2,"balancing_weights":6,"lep_kit":0,"pitch_encoder":1,"yaw_sensor":1},"tools":["induction_heater","bearing_puller","borescope","torque_set","laser_alignment","vibration_analyzer","service_laptop","laser_pitch_gauge"]},{"id":"BHV","name":"Bremerhaven depot","city":"Bremerhaven","lat":53.55,"lon":8.58,"stock":{"hss_bearing_kit":2,"main_bearing_unit":1,"gen_bearing_kit":0,"coupling_insert":2,"balancing_weights":8,"lep_kit":3,"pitch_encoder":2,"yaw_sensor":0},"tools":["induction_heater","bearing_puller","borescope","torque_set","laser_alignment","hydraulic_tensioner","rope_access_kit","platform","hygrometer","lidar_kit","service_laptop","vibration_analyzer","laser_pitch_gauge"]},{"id":"ROS","name":"Rostock depot","city":"Rostock","lat":54.09,"lon":12.1,"stock":{"hss_bearing_kit":0,"main_bearing_unit":0,"gen_bearing_kit":0,"coupling_insert":2,"balancing_weights":2,"lep_kit":0,"pitch_encoder":1,"yaw_sensor":2},"tools":["torque_set","laser_alignment","service_laptop","lidar_kit","vibration_analyzer"]},{"id":"MAG","name":"Magdeburg depot","city":"Magdeburg","lat":52.13,"lon":11.62,"stock":{"hss_bearing_kit":1,"main_bearing_unit":0,"gen_bearing_kit":2,"coupling_insert":2,"balancing_weights":4,"lep_kit":0,"pitch_encoder":0,"yaw_sensor":1},"tools":["induction_heater","bearing_puller","torque_set","laser_alignment","hydraulic_tensioner","vibration_analyzer","service_laptop"]},{"id":"KAS","name":"Kassel depot","city":"Kassel","lat":51.31,"lon":9.48,"stock":{"hss_bearing_kit":0,"main_bearing_unit":0,"gen_bearing_kit":1,"coupling_insert":2,"balancing_weights":4,"lep_kit":2,"pitch_encoder":1,"yaw_sensor":1},"tools":["bearing_puller","torque_set","laser_alignment","rope_access_kit","platform","hygrometer","service_laptop","laser_pitch_gauge","vibration_analyzer"]}],"factory":{"name":"Supplier factory","leadDays":{"hss_bearing_kit":14,"main_bearing_unit":120,"gen_bearing_kit":10,"coupling_insert":3,"balancing_weights":2,"lep_kit":5,"pitch_encoder":4,"yaw_sensor":4}},"parts":{"hss_bearing_kit":"HSS bearing kit (bearing, seals, spacer)","main_bearing_unit":"Main bearing unit","gen_bearing_kit":"Generator bearing kit","coupling_insert":"Coupling insert set","balancing_weights":"Balancing weights (25 kg)","lep_kit":"Leading-edge protection kit","pitch_encoder":"Pitch encoder","yaw_sensor":"Wind vane / yaw sensor"},"tools":{"induction_heater":"Induction bearing heater","bearing_puller":"Hydraulic bearing puller","borescope":"Video borescope","torque_set":"Hydraulic torque wrench set","laser_alignment":"Laser shaft alignment system","hydraulic_tensioner":"Bolt tensioner set","rope_access_kit":"Rope access kit","platform":"Blade platform","hygrometer":"Hygrometer / dew-point meter","lidar_kit":"Nacelle lidar kit","service_laptop":"Service laptop with controller access","vibration_analyzer":"Portable vibration analyser","laser_pitch_gauge":"Laser blade-angle gauge"},"crews":[{"id":"N1","name":"Crew Nord 1","hub":"HUS","skills":["drivetrain","mech"],"size":3,"freeAt":0,"doing":"on call"},{"id":"N2","name":"Crew Nord 2","hub":"HUS","skills":["mech","elec"],"size":2,"freeAt":18,"doing":"annual service DI-11","at":"DI"},{"id":"W1","name":"Crew West 1","hub":"BHV","skills":["drivetrain","mech"],"size":3,"freeAt":5,"doing":"rest after night shift"},{"id":"WR","name":"Rope team West","hub":"BHV","skills":["rope"],"size":3,"freeAt":0,"doing":"on call"},{"id":"O1","name":"Crew Ost 1","hub":"ROS","skills":["elec","mech"],"size":2,"freeAt":0,"doing":"on call"},{"id":"M1","name":"Crew Mitte 1","hub":"MAG","skills":["drivetrain","mech"],"size":3,"freeAt":30,"doing":"gearbox oil change UM-02","at":"UM"},{"id":"S1","name":"Crew Süd 1","hub":"KAS","skills":["mech","elec"],"size":2,"freeAt":0,"doing":"on call"},{"id":"SR","name":"Rope team Süd","hub":"KAS","skills":["rope"],"size":2,"freeAt":10,"doing":"blade inspection VB-07","at":"VB"}],"cranes":[{"type":"mobile130","name":"Mobile crane 200 t","base":{"city":"Bremerhaven","lat":53.55,"lon":8.58},"freeAt":12,"mobiliseHours":10,"windLimit":12},{"type":"crawler750","name":"Large crawler crane (800 t class, partner)","base":{"city":"Hamburg","lat":53.55,"lon":10},"freeAt":432,"mobiliseHours":96,"windLimit":10}]}