We built the Stereo Hybrid ONE44 to be as adaptable as it is capable. With its compact 800Wh PowerTube battery and powerful Bosch CX drive unit with up to 120Nm of assistance, it features 140mm of front- and rear-wheel travel and includes space for mudguards. Internal Cable Routing flatters the frame's clean, organic lines. There's a set of SIC 2.0 mounting points for the addition of an optional luggage carrier, the UDH dropout is future-proof and the Direct Mount chain guard is neat and unobtrusive. Plus, with Size Split, there's a frame to suit almost every rider.
Open image lightbox
_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preor
ify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear yourr_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stiscount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complet and for all Easy Entry models), and a remote dropper seatpost for extra comfort and control on rougher trails.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eFrame description\u003c\/strong\u003e\u003cbr\u003eYou can't help noticing the Reaction Hybrid FE's neat and practical mudguards, lighting set, luggage carrier and kickstand, but there's far more to it than that. We call this frame Easy Entry because that's exactly what it does. With the 800Wh PowerTube battery neatly concealed and the Bosch CX drive housed securely, it's also PowerMore-ready – making it easy to add up to 250Wh of extra battery capacity. The integrated seat clamp and cable routing complement the clean aesthetic, and the chain guide keeps everything where it should be. Plus, there are sizes to cater for most riders. We've thought of everything, so you can just ride.\u003c\/div\u003e\u003ch3\u003eSpecification\u003c\/h3\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eAluminium Su
kRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_enabled":true,"preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units avai
perlite, Gravity Casting Technology, Agile Ride Geometry, Boost148, Fully Integrated Battery, Advanced Internal Cable Routing, 1.5 Headtube, Kickstand\/Fender\/Carrier Mounting Points\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFork\u003c\/th\u003e\n\u003ctd\u003eSR Suntour X1-32 LO-R Air, Tapered, 15x110mm, 100mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHeadset\u003c\/th\u003e\n\u003ctd\u003eACROS AZF-1034, ICR (Integrated Cable Routing), Top Zero-Stack 1 1\/2\" (ZS 56mm), Bottom Zero-Stack 1 1\/2\" (ZS 56mm), X-Connect Interface\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eStem\u003c\/th\u003e\n\u003ctd\u003eCUBE Performance Stem E-MTB 35, FPI-Link\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHandlebar\u003c\/th\u003e\n\u003ctd\u003eCUBE Rise Trail Bar 35\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eGrips\u003c\/th\u003e\n\u003ctd\u003eACID Hybrid Perform\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear derailleur\u003c\/th\u003e\n\u003ctd\u003eShimano XT RD-M8100-SGS, ShadowPlus, 12-Speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifters\u003c\/th\u003e\n\u003ctd\u003eShimano Deore SL-M6100-R, Rapidfire Plus\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBrakes\u003c\/th\u003e\n\u003ctd\u003eShimano BR-MT420, Hydr. Disc Brake (203)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset\u003c\/th\u003e\n\u003ctd\u003eACID MTB Hybrid Pro, 38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset chainring sizes\u003c\/th\u003e\n\u003ctd\u003e38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCassette\u003c\/th\u003e\n\u003ctd\u003eShimano Deore CS-M6100, 10-51T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eNumber of gears\u003c\/th\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eChain\u003c\/th\u003e\n\u003ctd\u003eKMC e12\u003c\/td
#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdow
\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eWheelset\u003c\/th\u003e\n\u003ctd\u003eACID SLX 30, 32\/32 Spokes, 15x110mm\/12x148mm, Tubeless Ready\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eTires (Front \u0026amp; Rear)\u003c\/th\u003e\n\u003ctd\u003eSchwalbe Smart Sam, Active, 2.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003ePedals\u003c\/th\u003e\n\u003ctd\u003eACID PP Trekking\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSaddle\u003c\/th\u003e\n\u003ctd\u003eACID Sequence 160\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSeatpost\u003c\/th\u003e\n\u003ctd\u003eCUBE Dropper Post, Handlebar Lever, Internal Cable Routing, 31.6mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFront light\u003c\/th\u003e\n\u003ctd\u003eACID Front Light PRO-E 150 X-Connect, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear light\u003c\/th\u003e\n\u003ctd\u003eACID Mudguard Rear Light PRO-E, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eKickstand\u003c\/th\u003e\n\u003ctd\u003eACID FM Pure Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMudguard\u003c\/th\u003e\n\u003ctd\u003eACID 85 BB-Mount\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBell\u003c\/th\u003e\n\u003ctd\u003eKnog Oi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCarrier\u003c\/th\u003e\n\u003ctd\u003eACID Carrier SIC 2.0 Rail Boost\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine\u003c\/th\u003e\n\u003ctd\u003eBosch Drive Unit Performance Line CX max. 120Nm (BDU38)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine ready for the Bosch 120 Nm update?\u003c\/th\u003e\n\u003ctd\u003eYES\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBattery\u003c\/th\u003e\n\u003ctd\u003eBosch PowerTube 800\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCharger\u003c\/th\u003e\n\u003c
w_percentage":false}];(function() {
const cachedData = {"plans":[{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_enabled":true,"preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantiMozambique (GBP£)
td\u003eBosch 2A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRemote\u003c\/th\u003e\n\u003ctd\u003eBosch Purion 200 with Integrated Display\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eNet weight (kg)\u003c\/th\u003e\n\u003ctd\u003e28.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eGross weight (kg)\u003c\/th\u003e\n\u003ctd\u003e31\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMax. system weight (kg)\u003c\/th\u003e\n\u003ctd\u003e150\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMax. rider weight (kg)\u003c\/th\u003e\n\u003ctd\u003e120\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBody size\u003c\/th\u003e\n\u003ctd\u003e1.63m - 1.74m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eAccessories\u003c\/th\u003e\n\u003ctd\u003e92390,93490\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e","published_at":"2026-06-13T11:50:14+01:00","created_at":"2026-06-13T11:50:14+01:00","vendor":"CUBE","type":"Hybrid MTB","tags":["Bosch Drive Unit Performance Line CX max. 120Nm (BDU38)","Bosch PowerTube 800","CUBE","Electric Bike","Hybrid MTB","NEW 2026","REACTION HYBRID","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":309900,"price_min":309900,"price_max":309900,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":57747178684799,"title":"Step-through \/ Easy Entry \/ nebular\/dazzle \/ M","option1":"Step-through \/ Easy Entry","option2":"nebular\/dazzle","option3":"M","sku":"108332EEM","requires_shipping":true,"taxable":true,"featured_image":{"id":84875938300287,"product_id":15720153907583,"position":1,"created_at":"2026-06-13T11:50:14+01:00","updated_at":"2026-06-13T11:50:17+01:00","alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE","width":2000,"height":1195,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=178134781
fff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":nu
7","variant_ids":[57747178684799,57747178717567]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Step-through \/ Easy Entry \/ nebular\/dazzle \/ M","public_title":"Step-through \/ Easy Entry \/ nebular\/dazzle \/ M","options":["Step-through \/ Easy Entry","nebular\/dazzle","M"],"price":309900,"weight":31000,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571492234","featured_media":{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE","id":71336087093631,"position":1,"preview_image":{"aspect_ratio":1.674,"height":1195,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":57747178717567,"title":"Step-through \/ Easy Entry \/ nebular\/dazzle \/ S","option1":"Step-through \/ Easy Entry","option2":"nebular\/dazzle","option3":"S","sku":"108332EES","requires_shipping":true,"taxable":true,"featured_image":{"id":84875938300287,"product_id":15720153907583,"position":1,"created_at":"2026-06-13T11:50:14+01:00","updated_at":"2026-06-13T11:50:17+01:00","alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE","width":2000,"height":1195,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817","variant_ids":[57747178684799,57747178717567]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Step-through \/ Easy Entry \/ nebular\/dazzle \/ S","public_title":"Step-through \/ Easy Entry \/ nebular\/dazzle \/ S","options":["Step-through \/ Easy Entry","nebular\/dazzle","S"],"price":309900,"weight":31000,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571492227","featured_media":{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE","id":71336087093631,"position":1,"preview_image":{"aspect_ratio":1.674,"height":1195,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817"}},"requires_selling_plan":false,"selling_plan_allocations":[],"qu
rder_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175,714631872895],"cached_at":"2026-04-09T09:16:46Z"};
if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
// Find the maximum updated_at from all items in old array
const oldPlans = window._RestockRocketConfig.sellingPlans;
const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
? oldPlans.reduce(function(max, plan) {
// Parse dates for proper comparison (handles mixed ISO formats)
if (plan.updated_at) {
const planDate = new Date(plan.updated_at);
const maxDate = max ? new Date(max) : null;
return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
}
return max;
}, '')
: null;
// Use cached if old array is empty/has no timestamps, or cached is newer
antity_rule":{"min":1,"max":null,"increment":1}},{"id":57747178750335,"title":"Step-over \/ nebular\/dazzle \/ L","option1":"Step-over","option2":"nebular\/dazzle","option3":"L","sku":"108330L","requires_shipping":true,"taxable":true,"featured_image":{"id":84875938496895,"product_id":15720153907583,"position":7,"created_at":"2026-06-13T11:50:14+01:00","updated_at":"2026-06-13T11:50:17+01:00","alt":null,"width":2000,"height":1157,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817","variant_ids":[57747178750335,57747178783103,57747178881407]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Step-over \/ nebular\/dazzle \/ L","public_title":"Step-over \/ nebular\/dazzle \/ L","options":["Step-over","nebular\/dazzle","L"],"price":309900,"weight":31000,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571492159","featured_media":{"alt":null,"id":71336087290239,"position":7,"preview_image":{"aspect_ratio":1.729,"height":1157,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":57747178783103,"title":"Step-over \/ nebular\/dazzle \/ M","option1":"Step-over","option2":"nebular\/dazzle","option3":"M","sku":"108330M","requires_shipping":true,"taxable":true,"featured_image":{"id":84875938496895,"product_id":15720153907583,"position":7,"created_at":"2026-06-13T11:50:14+01:00","updated_at":"2026-06-13T11:50:17+01:00","alt":null,"width":2000,"height":1157,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817","variant_ids":[57747178750335,57747178783103,57747178881407]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Step-over \/ nebular\/dazzle \/ M","public_title":"Step-over \/ nebular\/dazzle \/ M","options":["Step-over","nebular\/dazzle","M"],"price":309900,"weight":31000,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571492142","feat
axUpdatedAt + ')');
}
}
})();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8125345792226,"title":"Benno RemiDemi EVO 2 Cargo Bike","handle":"benno-remidemi-evo-2-cargo-bike","description":"\u003cp\u003e \u003c\/p\u003e
ured_media":{"alt":null,"id":71336087290239,"position":7,"preview_image":{"aspect_ratio":1.729,"height":1157,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":57747178815871,"title":"Trapeze \/ nebular\/dazzle \/ M","option1":"Trapeze","option2":"nebular\/dazzle","option3":"M","sku":"108331TM","requires_shipping":true,"taxable":true,"featured_image":{"id":84875938529663,"product_id":15720153907583,"position":8,"created_at":"2026-06-13T11:50:14+01:00","updated_at":"2026-06-13T11:50:17+01:00","alt":null,"width":2000,"height":1165,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108331.jpg?v=1781347817","variant_ids":[57747178815871,57747178848639]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Trapeze \/ nebular\/dazzle \/ M","public_title":"Trapeze \/ nebular\/dazzle \/ M","options":["Trapeze","nebular\/dazzle","M"],"price":3099
3,57747178881407]},"available":false,"name":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE - Step-over \/ nebular\/dazzle \/ XL","public_title":"Step-over \/ nebular\/dazzle \/ XL","options":["Step-over","nebular\/dazzle","XL"],"price":309900,"weight":31000,"compare_at_price":null,"inventory_management":"shopify","barcode":"4054571492166","featured_media":{"alt":null,"id":71336087290239,"position":7,"preview_image":{"aspect_ratio":1.729,"height":1157,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817","\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_00.jpg?v=1781347817","\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_01.jpg?v=1781347818","\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_02.jpg?v=1781347817","\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_03.jpg?v=1781347817","
u003eHerrmans H-TRACE E\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFrame:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e6061 Aluminum Alloy with Front Tray Mounts\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFork:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eOversized 4130 CRMO Steel\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eSeat Collar:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eAluminum, Q\/R, 30.9mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFront Hub:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eKT Aluminum\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eRear Hub:\u003c\/strong\u003e\u003cspan data-mce
\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_04.jpg?v=1781347817","\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817","\/\/projektride.co.uk\/cdn\/shop\/files\/108331.jpg?v=1781347817"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817","options":["Frame Style","Colour","Size"],"media":[{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE","id":71336087093631,"position":1,"preview_image":{"aspect_ratio":1.674,"height":1195,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817"},"aspect_ratio":1.674,"height":1195,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332.jpg?v=1781347817","width":2000},{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE image 2","id":71336087126399,"position":2,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_00.jpg?v=1781347817"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/pr
ojektride.co.uk\/cdn\/shop\/files\/108332_D_00.jpg?v=1781347817","width":2000},{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE image 3","id":71336087159167,"position":3,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_01.jpg?v=1781347818"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_01.jpg?v=1781347818","width":2000},{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE image 4","id":71336087191935,"position":4,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_02.jpg?v=1781347817"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_02.jpg?v=1781347817","width":2000},{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE image 5","id":71336087224703,"position":5,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"s
ar Derailleur:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano Sora\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eChain:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eTaya e-NOVE-91, 130 Links\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eCassette:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano CS 9-Speed, 11~32T\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003ePedals:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eOne Piece Aluminum\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eSaddle:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eBenno Low Profile Comfort with Elastomer Springs\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u
rc":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_03.jpg?v=1781347817"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_03.jpg?v=1781347817","width":2000},{"alt":"CUBE REACTION HYBRID PRO 800 FE NEBULAR\/DAZZLE image 6","id":71336087257471,"position":6,"preview_image":{"aspect_ratio":1.778,"height":1125,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_04.jpg?v=1781347817"},"aspect_ratio":1.778,"height":1125,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108332_D_04.jpg?v=1781347817","width":2000},{"alt":null,"id":71336087290239,"position":7,"preview_image":{"aspect_ratio":1.729,"height":1157,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817"},"aspect_ratio":1.729,"height":1157,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108330.jpg?v=1781347817","width":2000},{"alt":null,"id":71336087323007,"position":8,"preview_image":{"aspect_ratio":1.717,"height":1165,"width":2000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108331.jpg?v=1781347817"},"aspect_ratio":1.717,"height":1165,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/108331.jpg?v=1781347817","width":2000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv\u003eBest of all worlds: the Reaction Hybrid Pro FE combines the versatility of a fully equipped tourer and the ruggedness of a mountain bike, with added Bosch power. The mudguards, luggage carrier, kickstand and lights are just the start. You can also tackle any route, off-road or on, with ease thanks to an 800Wh battery and powerful Bosch CX drive. Combined with Shimano's easy-to-use XT 12-speed gears, it's all you need to comfortably ride any hill. For coming back down the other side, we fitted strong Shimano 4-piston hydraulic disc brakes and grippy Schwalbe 2.6in tyres. There's also an air-sprung fork with 120mm of travel (100mm for small frame sizes and for all Easy Entry models), and a
ntegrated\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eMudguards:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eExtruded Molded Plastic\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFront Brake:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano Hydraulic Disc, Rotor 180mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eRear Brake:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano Hydraulic Disc, Rotor 160mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eBrake Levers:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eFeatures\u003c\/h4\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBuilt-In rac
remote dropper seatpost for extra comfort and control on rougher trails.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eFrame description\u003c\/strong\u003e\u003cbr\u003eYou can't help noticing the Reaction Hybrid FE's neat and practical mudguards, lighting set, luggage carrier and kickstand, but there's far more to it than that. We call this frame Easy Entry because that's exactly what it does. With the 800Wh PowerTube battery neatly concealed and the Bosch CX drive housed securely, it's also PowerMore-ready – making it easy to add up to 250Wh of extra battery capacity. The integrated seat clamp and cable routing complement the clean aesthetic, and the chain guide keeps everything where it should be. Plus, there are sizes to cater for most riders. We've thought of everything, so you can just ride.\u003c\/div\u003e\u003ch3\u003eSpecification\u003c\/h3\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eFrame\u003c\/th\u003e\n\u003ctd\u003eAluminium Superlite, Gravity Casting Technology, Ag
ile Ride Geometry, Boost148, Fully Integrated Battery, Advanced Internal Cable Routing, 1.5 Headtube, Kickstand\/Fender\/Carrier Mounting Points\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFork\u003c\/th\u003e\n\u003ctd\u003eSR Suntour X1-32 LO-R Air, Tapered, 15x110mm, 100mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHeadset\u003c\/th\u003e\n\u003ctd\u003eACROS AZF-1034, ICR (Integrated Cable Routing), Top Zero-Stack 1 1\/2\" (ZS 56mm), Bottom Zero-Stack 1 1\/2\" (ZS 56mm), X-Connect Interface\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eStem\u003c\/th\u003e\n\u003ctd\u003eCUBE Performance Stem E-MTB 35, FPI-Link\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eHandlebar\u003c\/th\u003e\n\u003ctd\u003eCUBE Rise Trail Bar 35\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eGrips\u003c\/th\u003e\n\u003ctd\u003eACID Hybrid Perform\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear derailleur\u003c\/
so could result in serious injury! Make sure that no parts of the body, clothing or load come near moving parts on the bicycle, such as chain, spokes, tyres or brakes.\u003c\/p\u003e","published_at":"2023-07-31T20:31:21+01:00","created_at":"2023-07-31T20:29:47+01:00","vendor":"Benno","type":"Bicycles","tags":["RemiDemi","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":400000,"price_min":400000,"price_max":400000,"available":true,"price_varies":false,"compare_at_price":399900,"compare_at_price_min":399900,"compare_at_price_max":400000,"compare_at_price_varies":true,"variants":[{"id":44195991847138,"title":"Turmeric Yellow","option1":"Turmeric Yellow","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":{"id":39443490930914,"product_id":8125345792226,"position":1,"created_at":"2023-07-31T20:29:47+01:00","updated_at":"2023-07-31T20:29:49+01:00","alt":null,"width":1250,"height":822,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ScreenshotNetherlands (EUR€)
th\u003e\n\u003ctd\u003eShimano XT RD-M8100-SGS, ShadowPlus, 12-Speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eShifters\u003c\/th\u003e\n\u003ctd\u003eShimano Deore SL-M6100-R, Rapidfire Plus\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBrakes\u003c\/th\u003e\n\u003ctd\u003eShimano BR-MT420, Hydr. Disc Brake (203)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset\u003c\/th\u003e\n\u003ctd\u003eACID MTB Hybrid Pro, 38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCrankset chainring sizes\u003c\/th\u003e\n\u003ctd\u003e38T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCassette\u003c\/th\u003e\n\u003ctd\u003eShimano Deore CS-M6100, 10-51T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eNumber of gears\u003c\/th\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eChain\u003c\/th\u003e\n\u003ctd\u003eKMC e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003
e\n\u003cth\u003eWheelset\u003c\/th\u003e\n\u003ctd\u003eACID SLX 30, 32\/32 Spokes, 15x110mm\/12x148mm, Tubeless Ready\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eTires (Front \u0026amp; Rear)\u003c\/th\u003e\n\u003ctd\u003eSchwalbe Smart Sam, Active, 2.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003ePedals\u003c\/th\u003e\n\u003ctd\u003eACID PP Trekking\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSaddle\u003c\/th\u003e\n\u003ctd\u003eACID Sequence 160\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eSeatpost\u003c\/th\u003e\n\u003ctd\u003eCUBE Dropper Post, Handlebar Lever, Internal Cable Routing, 31.6mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eFront light\u003c\/th\u003e\n\u003ctd\u003eACID Front Light PRO-E 150 X-Connect, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eRear light\u003c\/th\u003e\n\u003ctd\u003eACID Mudguard Rear Light PRO-E, 12V, DC\u003c\/td\u003e\n\u003c\/tr\u003
/shop\/files\/Screenshot2023-07-31at20.23.54.png?v=1690831790","variant_ids":[44195991879906]},"available":true,"name":"Benno RemiDemi EVO 2 Cargo Bike - Dolphin Blue","public_title":"Dolphin Blue","options":["Dolphin Blue"],"price":400000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":32047839772898,"position":4,"preview_image":{"aspect_ratio":1.521,"height":822,"width":1250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.23.54.png?v=1690831790"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":44195991912674,"title":"Chai Latte Gry","option1":"Chai Latte Gry","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":{"id":39443490996450,"product_id":8125345792226,"position":6,"created_at":"2023-07-31T20:29:47+01:00","updated_at":"2023-07-31T20:29:49+01:00","alt":null,"width":1250,"height":822,"src":"\/\/projek
e\n\u003ctr\u003e\n\u003cth\u003eKickstand\u003c\/th\u003e\n\u003ctd\u003eACID FM Pure Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eMudguard\u003c\/th\u003e\n\u003ctd\u003eACID 85 BB-Mount\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBell\u003c\/th\u003e\n\u003ctd\u003eKnog Oi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCarrier\u003c\/th\u003e\n\u003ctd\u003eACID Carrier SIC 2.0 Rail Boost\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine\u003c\/th\u003e\n\u003ctd\u003eBosch Drive Unit Performance Line CX max. 120Nm (BDU38)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eEngine ready for the Bosch 120 Nm update?\u003c\/th\u003e\n\u003ctd\u003eYES\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eBattery\u003c\/th\u003e\n\u003ctd\u003eBosch PowerTube 800\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth\u003eCharger\u003c\/th\u003e\n\u003ctd\u003eBosch 2A\u003c\/td\u003e\n\u003
loyed extension build number, read from the CDN asset host Shopify generates:
// https://cdn.shopify.com/extensions/
ge","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.24.07.png?v=1690831789","width":1250},{"alt":null,"id":32047839740130,"position":3,"preview_image":{"aspect_ratio":1.521,"height":822,"width":1250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.24.01.png?v=1690831789"},"aspect_ratio":1.521,"height":822,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.24.01.png?v=1690831789","width":1250},{"alt":null,"id":32047839772898,"position":4,"preview_image":{"aspect_ratio":1.521,"height":822,"width":1250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.23.54.png?v=1690831790"},"aspect_ratio":1.521,"height":822,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-07-31at20.23.54.png?v=1690831790","width":1250},{"alt":null,"id":32047839805666,"position":5,"preview_image":{"aspect_ratio":1.521,"height":822,"width":1250,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ScreenNiger (XOFFr)
<uuid>/
e with a convenient low step-through. And an upright seating position atop a wide saddle that puts you in total control.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe RemiDemi loves to play, but it can also put in heavy work with a powerful Bosch mid-drive electric motor, Shimano Sora 9-speed and hydraulic disc brakes, and available accessories that give you countless clever ways to carry a child or loads of cargo. \u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eSpecifications\u003c\/h4\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eMotor:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eBosch Performance 250W, 65Nm, GEN 3\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eAssisted Speed:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eEU 25km\/h\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n
<
handle>-
a-mce-fragment=\"1\"\u003e \u003c\/span\u003e2A (400Wh) 6.5h, 4A (500Wh) 4.5h\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eController:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eBosch Purion Display\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eHeadlight:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eHerrmans MR 8 E\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eTail Light:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eHerrmans H-TRACE E\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFrame:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e6061 Aluminum Alloy with Front Tray Mounts\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\
<version>/assets/...
// Trailing digits (e.g. ".../restockrocket-1-521/assets/" -> "521"). Kept numeric to
// match ParseStoqData, so funnel app_version lines up with the order-attribution
// app_version. Reflects the ACTUAL deployed build. This is the SINGLE source of the
// parsed version — preorder.js getAppVersion() reads it back off config rather than
// re-parsing, so the regex lives in exactly one place.
try {
const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
} catch (e) {
window._RestockRocketConfig.appVersion = '';
}
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
const LIQUID_CACHE_MAX_AGE = 15 * 60; // 15 minutes in seconds
// Calculate Liquid cache freshness once at initialization
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
// Validate timestamp and calculate ca
ragment=\"1\"\u003eSpokes:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eStainless 14G\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eTyres:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eBenno RemiDemi All Road Tyre 20″ x 3.6″, Puncture Resistant, 60 TPI\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eShifters:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano Acera\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eRear Derailleur:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eShimano Sora\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eChain:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eTaya e-NOVE-91, 130 Links\u003c\/li\u003e\n\u003cli
che age
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
window._RestockRocketConfig.liquidCacheAge = null;
} else {
const now = Math.floor(Date.now() / 1000); // Current time in seconds
const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
// Surfaced into funnel events: a stale cache means the app rendered with
// outdated inventory/selling-plan data — a real "had the opportunity but
// failed" cause. Negative (client clock ahead) clamps to 0.
window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
// Handle client clock ahead of server
if (liquidCacheAge <
\u003c\/span\u003eAluminum, Width 675mm, Rise 126mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eGrips:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eBenno Ergo Profile, Lock-On\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eStem:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eAluminum, Threadless, Extension 60mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eHeadset:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eFSA Integrated\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eMudguards:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eExtruded Molded Plastic\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eFront Brake:\u003c\/stNigeria (NGN₦)
0) {
console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else if (liquidCacheAge <
3cbr data-mce-fragment=\"1\"\u003eOne Size – Fits Riders from 5’1” to 6’1”\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eWARNING:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eWhen carrying passengers, rear-wheel\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003eMUST\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003ebe covered! Install Benno Wheel Guards or Utility Pannier Bags. Failure to do so could result in serious injury! Make sure that no parts of the body, clothing or load come near moving parts on the bicycle, such as chain, spokes, tyres or brakes.\u003c\/p\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {44195991847138 : "continue",44195991879906 : "continue",44195991912674 : "continue",44195991945442
= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no
n be wrong; refresh both from
// the API before launching scripts. Race against a 1000ms timeout so a slow
// API can't block init indefinitely. If the timeout wins, the in-flight
// fetches still complete and update window._RestockRocketConfig — the
// bundle re-reads sellingPlans/integrations on every interaction, so the
// late-arriving values benefit subsequent renders even though the first
// paint may use the Liquid-cached values. On any failure the existing
// Liquid-loaded values stay in place via fetchEmbedConfig's catch.
if (!window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid) {
console.debug('STOQ - Liquid cache stale, refreshing selling_plans + integrations');
Promise.race([
Promise.all([
fetchEmbedConfig('selling_plans', function(data) {
if (data && Array.isArray(data.plans)) {
window._RestockRocketConfig.sellingPlans = data.plans;
window._RestockRocketC= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no Norway (GBP£)
shops with NO preorder plans. Use the full build if preorder is on,
// an enabled offer exists, or a disabled-but-kept plan id remains (cart sweep
// must still strip those). Rationale in the PR.
const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans)
&& window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; });
const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds)
&& window._RestockRocketConfig.disabledSellingPlanIds.length > 0;
const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds;
const collectionScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlCollection
: window._RestockRocketConfig.scriptUrlCollectionBis;
const productScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlProduct
: window._RestockRocketConfig.scriptUrlProductBis;
const pageage = Date.now() - updatedAt.getTime();
if (age
loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
SETTINGS_CACHE_DURATION) {
console.debug('STOQ - settings changed recently, skipping cache');
return null;
}
return settings;
} catch (error) {
console.debug('STOQ - Error checking settings cache:', error);
return null;
}
}
function createRestockRocketContainer() {
const restockRocketContainer = document.createElement('div');
restockRocketContainer.id = 'restock-rocket';
document.body.appendChild(restockRocketContainer);
}
function createRestockRocketScript(scriptUrl) {
const restockRocketScriptElement = document.createElement('script');
restockRocketScriptElement.setAttribute('defer', 'defer');
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
// Fire stoq_initialized once per page load so the funnel pipeline has a definitive
// "our code ran on this page" signal independent of any cus
ctedVariantId || '',
liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0,
app_version: _stoqInitConfig.appVersion || '',
liquid_cache_age: _stoqInitConfig.liquidCacheAge,
// Selected variant's stock posture as our app saw it at render — explains
// whether we *should* have treated it as a preorder candidate.
inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
});
} catch (e) {
console.debug('STOQ - stoq_initialized publish failed:', e);
}
function applyTranslations(settings) {
try {
// Skip translation logic entirely if multi-language is not enabled
if (!settings || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const n
ocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// Setup event listener for cart selling plan updates
// This must be called before any scripts are loaded to avoid race conditions
function setupCartSellingPlanUpdater(settings) {
// Setup listener regardless - updateCartSellingPlans has its own guards
// This ensures cleanup happens even when preorders are disabled globally
// Listen for stoq:inventory-data-loaded event dispatched by api.js
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updatePoland (PLNzł)
South Africa (GBP£)