ot2023-06-25at10.13.37.png?v=1687684678"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.14.54.png?v=1687684678","options":["Size"],"media":[{"alt":null,"id":31960232165602,"position":1,"preview_image":{"aspect_ratio":1.304,"height":934,"width":1218,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.14.54.png?v=1687684678"},"aspect_ratio":1.304,"height":934,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.14.54.png?v=1687684678","width":1218},{"alt":null,"id":31960232198370,"position":2,"preview_image":{"aspect_ratio":1.248,"height":976,"width":1218,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.15.09.png?v=1687684679"},"aspect_ratio":1.248,"height":976,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.15.09.png?v=1687684679","width":1218},{"alt":null,"id":31960232231138,"position":3,"preview_image":{"aspect_ratio":1.518,"height":950,"widEnve
Brake Pads
Boardman Comp X7 - Smalluires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"wrap-details read-more\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eDESCRIPTION\u003ci class=\"tab-arrow\" data-mce-fragment=\"1\"\u003e\u003c\/i\u003e\n\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Expedition Saddle Pack is waterproof, lightweight, and provides a spacious compartment under the saddle, eliminating the need for a rear rack. It’s designed to hold clothes and equipment on long distance rides.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBuilt from a lightweight laminate developed specifically for Apidura, the saddle bag is highly resistant to abrasions and tears. The seams have been welded together, creating a waterproof seal that ensures contents always stay dry, even in sustained rain.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eA three-point attachment system with Hypalon-reinforce
Hire
eloped specifically for us. The material is lightweight, and is highly resistant to tears and abrasion. Notably, it’s welded together at the seams, creating a watertight seal that ensures the saddle bag remains completely waterproof.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe bag’s attachment points are reinforced with Hypalon, a rubberised nylon used to provide extra protection against friction and abrasion. For the straps, Woojin buckles have been chosen for their strength and reliability.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eFinally, a lightweight moulded section of HDPE thermoplastic sits in the saddle bag’s lower section to reinforce its structure.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCare\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eWash the saddle bag by hand, using a mild diluted soap if necessary. Afterwards, let it air dry.\u003cbr data-mce-fragment=\"1\"\u003eDo not machine wash
We'll never share your email with anyone else.
nimum required distances are indicated on the diagram.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-id=\"clearance-tab\" class=\"parent-tab tab-content wrap-cat clearance-wrap show\"\u003e\n\u003cdiv class=\"grid gut15\"\u003e\n\u003cdiv class=\"col perc40 xxs-to-100 xs-to-100 s-to-100 m-to-100 left-content\"\u003e\n\u003cdiv class=\"free-text-clearance\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}
Brake Spares
Handlebarsightweight, and provides a spacious compartment under the saddle, eliminating the need for a rear rack. It’s designed to hold clothes and equipment on long distance rides.\nBuilt from a lightweight laminate developed specifically for Apidura, the saddle bag is highly resistant to abrasions and tears. The seams have been welded together, creating a waterproof seal that ensures contents always stay dry, even in sustained rain.\nA three-point attachment system with Hypalon-reinforced velcro straps allows the saddle bag to hug the seat post, increasing stability and cutting down on lateral movement. Additional Hypalon on the bag’s body keeps frames in good condition.\nThe Expedition Saddle Pack is available in three sizes for adventures long, short, and in-between. Additionally, the roll-down compression and closure system means the bag’s volume can be tailored precisely to fit a range of packing needs.\n\n\n\nTECHNICAL\n\n\nMaterials\nThe saddle bag is cut from a three-layer laminate fabric that was develo
Shop All New Bikes
istance from the bottom of your saddle rails to the top of your rear tire.\nMeasure the vertical distance from the seat post collar to the saddle clamp.\nThe minimum required distances are indicated on the diagram.\n\n\n\n\n\n\n\n\n\n","sku": "PWS","brand": {
"@type": "Thing",
"name": "Apidura"
},"gtin8": "","offers": [{
"@type" : "Offer","sku": "PWS","availability" : "http://schema.org/InStock",
"price" : 125.0,
"priceCurrency" : "GBP",
"url" : "https:\/\/projektride.co.uk\/products\/expedition-saddle-pack?variant=44140292047074"
},
{
"@type" : "Offer","sku": "PWL","availability" : "http://schema.org/InStock",
"price" : 133.0,
"priceCurrency" : "GBP",
"url" : "https:\/\/projektride.co.uk\/products\/expedition-saddle-pack?variant=44140292079842"
},
{
"@type" : "Offer","sku": "PWM","availability" : "http://schema.org/InStock",
"price" : 139.0,
"priceCurrency" : "GBP",
"url" : "https:\/\/projekt
Front Suspension
New Bikes
How much do you want to sell your bike to ProjektRide for? *
Finishing Kit
Road / Gravel / Touring BikesUpload bike pictures *Tyres
Questions and answers[email protected]
window._RestockRocketConfig = window._RestockRocketConfig || {}
// Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us')
// This matches the backend's Mobility.normalize_locale behavior
// Returns empty string if locale is empty or invalid (matches original behavior)
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'en';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
window._RestockRocketConfig.shop = 'projektride.myshopify.com';
window._RestockRocketConfig.pageType = 'page';window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom';
window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57Open search bar
e_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"sto
notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"Th
search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill
6715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327My Account,"updated_at":"2025-12-14T12:16:34Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shop
<
Headsets<
window._RestockRocketConfig = window._RestockRocketConfig || {}
// Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us')
// This matches the backend's Mobility.normalize_locale behavior
// Returns empty string if locale is empty or invalid (matches original behavior)
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, 'Tubeless
ion_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_inBrakesSaddles4118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199See More
44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T12:31:43Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_
n the estimated delivery date.","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 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,"pSeat Posts & Clamps
,"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.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","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,"updated_at":"2025-
u003cstrong data-mce-fragment=\"1\"\u003eMaterials\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe saddle bag is cut from a three-layer laminate fabric that was developed specifically for us. The material is lightweight, and is highly resistant to tears and abrasion. Notably, it’s welded together at the seams, creating a watertight seal that ensures the saddle bag remains completely waterproof.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe bag’s attachment points are reinforced with Hypalon, a rubberised nylon used to provide extra protection against friction and abrasion. For the straps, Woojin buckles have been chosen for their strength and reliability.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eFinally, a lightweight moulded section of HDPE thermoplastic sits in the saddle bag’s lower section to reinforce its structure.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCare\u003c\/strong\u003e\u003c\/p\u003Gears & Drivetrain
of your saddle rails to the top of your rear tire.\u003c\/p\u003e\n\u003cp\u003eMeasure the vertical distance from the seat post collar to the saddle clamp.\u003c\/p\u003e\n\u003cp\u003eThe minimum required distances are indicated on the diagram.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-id=\"clearance-tab\" class=\"parent-tab tab-content wrap-cat clearance-wrap show\"\u003e\n\u003cdiv class=\"grid gut15\"\u003e\n\u003cdiv class=\"col perc40 xxs-to-100 xs-to-100 s-to-100 m-to-100 left-content\"\u003e\n\u003cdiv class=\"free-text-clearance\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {44140292047074 : "continue",44140292079842 : "continue",44140292112610 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {44140292047074 : parseInt("100"),44140292079842 : parseInt("100"),44140292112610 : parseInt("99"),};
window._RestockRocketSee MoreBrake PadsNew Bikes
= window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
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 disa
>
{{/if}}