United Kingdom (GBP£)
5 South Sudan (GBP£)
United States (GBP£)
Spain (EUR€)
Vatican City (EUR€)
St. Helena (SHP£)
tion":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,"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. P planDate > maxDate)) ? plan.updated_at : max;
}
return max;
}, '')
: null;
const cachedDate = new Date(cachedData.cached_at);
const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
if (useCached) {
if (Array.isArray(cachedData.plans)) {
window._RestockRocketConfig.sellingPlans = cachedData.plans;
window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
}
} else {
window._RestockRocketConfig.disabledSellingPlanIds = [];
console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
}
}
})();window._RestockRocketConfig.enabledNotifyMeVariantIn\u003csection id=\"ProductTemplate--template--16824364499170__main\" class=\"product-single\" data-section-type=\"product-template\" data-section-id=\"template--16824364499170__main\"\u003e\n\u003cdiv class=\"wrapper\"\u003e\n\u003cdiv class=\"pr-product-details\"\u003e\n\u003cdiv class=\"product__description rte\"\u003e\n\u003cp data-start=\"121\" data-end=\"385\"\u003e\u003cstrong data-start=\"121\" data-end=\"383\"\u003ePlease get in touch if the option you require is out of stock for the time period you require. We try and keep more stock for walk-ins so we can add more stock to the website for booking if necessary. \u003c\/strong\u003e\u003c\/p\u003e\n\u003ch2\u003eIdeal for anyone looking for a drop handlebar road bike.\u003c\/h2\u003e\n\u003cp\u003e\u003cbr\u003eSizes available - Extra Small, Small, Medium, Large\u003c\/p\u003e\n\u003ch3\u003e\n\u003cbr\u003eSizing guide\u003c\/h3\u003e\n\u003cp\u003eExtra Small -\u003c\/p\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cp\u003e\u003cspan class=\"te":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55638316941695,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Hire Genesis Equilibrium Road Bike - Medium","public_title":"Medium","options":["Medium"],"price":4200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55638316974463,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Hire Genesis Equilibrium Road Bike - Large","public_title":"Large","options":["Large"],"price":4200,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":3438},{"alt":null,"id":66612105183615,"position":2,"preview_image":{"aspect_ratio":1.505,"height":3264,"width":4912,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/45E99FC4-ECE3-4237-87F0-1EE99EB7BDD8.jpg?v=1751044467"},"aspect_ratio":1.505,"height":3264,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/45E99FC4-ECE3-4237-87F0-1EE99EB7BDD8.jpg?v=1751044467","width":4912},{"alt":null,"id":66612105216383,"position":3,"preview_image":{"aspect_ratio":1.505,"height":3264,"width":4912,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/D30D8504-7AAB-466A-B6F4-EC5D4FF8CAF5.jpg?v=1751044467"},"aspect_ratio":1.505,"height":3264,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/D30D8504-7AAB-466A-B6F4-EC5D4FF8CAF5.jpg?v=1751044467","width":4912},{"alt":null,"id":66612105249151,"position":4,"preview_image":{"aspect_ratio":1.505,"height":3264,"width":4912,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/0E13DF6E-7EC2-43F9-B14B-93E9AED6906A.jpg?v=1751044466"},"aspect_ratio":1.505,"height":ption rte\"\u003e\n\u003cp data-start=\"121\" data-end=\"385\"\u003e\u003cstrong data-start=\"121\" data-end=\"383\"\u003ePlease get in touch if the option you require is out of stock for the time period you require. We try and keep more stock for walk-ins so we can add more stock to the website for booking if necessary. \u003c\/strong\u003e\u003c\/p\u003e\n\u003ch2\u003eIdeal for anyone looking for a drop handlebar road bike.\u003c\/h2\u003e\n\u003cp\u003e\u003cbr\u003eSizes available - Extra Small, Small, Medium, Large\u003c\/p\u003e\n\u003ch3\u003e\n\u003cbr\u003eSizing guide\u003c\/h3\u003e\n\u003cp\u003eExtra Small -\u003c\/p\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cp\u003e\u003cspan class=\"text-xs\"\u003e156cm - \u003c\/span\u003e\u003cspan class=\"text-xs\"\u003e164cm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eSmall - 164cm - 172cm\u003c\/p\u003e\n\u003cp\u003eMedium - 172cm - 180cm\u003c\/p\u003e\n\u003cp\u003eLarge - 178cm - 186cm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n
&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
}
const updatedAt = new Date(settings.updated_at);
if (isNaN(updatedAt.getTime())) {
console.debug('STOQ - Invalid updated_at date format in settings');
return null;
}
const age = Date.now() - updatedAt.getTime();
if (age