r. Items will ship based on 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
lling_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,"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_d
Cycle To Work SchemesFinanceconfig":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":8677960974562,"title":"Ortlieb Back-Roller Urban QL2.1","handle":"ortlieb-back-roller-urban-ql2-1","description":"\u003cp\u003e\u003cspan\u003eThe ORTLIEB Back-Roller Plus is the ideal bike bag for those who prefer the convenience of the roll closure system. The durable, waterproof, dustproof, abrasion-resistant and high quality Cordura fabric ensures optimal protection for your gear. Equipped with the sophisticated QL2.1 system with self-closing hooks, the ORTLIEB Back-Roller Plus attaches to your bike in a flash. And simply use the easily detachable shoulder strap to carry your bike bag comfortably once you’ve arrived at your destination. Anything else to consider? Well, you’ll want to select your favourite from among the range of fashionable colours.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv role=\"tab
panel\" id=\"description\" class=\"tab-pane fade in active\"\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cul\u003e\n\u003cli\u003eFabric: PS36C\u003c\/li\u003e\n\u003cli\u003eFeatures: QL2.1\u003c\/li\u003e\n\u003cli\u003eHeight: 42cm\u003c\/li\u003e\n\u003cli\u003eWidth: 23 \/ 32cm\u003c\/li\u003e\n\u003cli\u003eDepth: 17cm\u003c\/li\u003e\n\u003cli\u003eVolume: 40L\u003c\/li\u003e\n\u003cli\u003eWeight: 1680g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"box-sizing: inherit; opacity: 1; transition: opacity 0.15s linear 0s; display: block; margin-bottom: 20px; color: rgb(0, 0, 0); font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, < 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\" role=\"tabpanel\" id=\"product-details\" class=\"tab-pane fade\" data-mce-style=\"box-sizing: inherit; opacity: 1; transition: opacity 0.15s linear 0s; display: block; margin-bottom: 20px; color: rgb(0, 0, 0); font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\"\u003e\u003c\/div\u003e\n\u003c!----\u003e","published_at":"2024-08-16T11:29:53+01:00","created_at":"2024-08-16T11:29:53+01:00","vendor":"ortlieb","type":"Apparel \u0026 Accessories","tags":["Bike Packing","pannier
"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45820575940834,"title":"Brown","option1":"Brown","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Ortlieb Back-Roller Urban QL2.1 - Brown","public_title":"Brown","options":["Brown"],"price":9000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/1391.jpg?v=1723804121","\/\/projektride.co.uk\/cdn\/shop\/files\/1392.jpg?v=1723804121","\/\/projektride.co.uk\/cdn\/shop\/files\/6207.jpg?v=1723804121","\/\/projektride.co.uk\/cdn\/shop\/files\/6208.jpg?v=1723804120","\/\/projektride.co.uk\/cdn\/shop\/files\/6209.jpg?v=1723804120","\/\/projektride.co.uk\/cdn\/shop\/files\/6210.jpg?v=1723804120","\/\/projektride.co.uk\/cdn\/shop\/files\/6211.jpg?v=1723804120","\/\/projektride.co.uk\/cdn\/shop\/files\/6212.jpg?v=1
"width":768},{"alt":null,"id":34467918250210,"position":4,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6208.jpg?v=1723804120"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6208.jpg?v=1723804120","width":768},{"alt":null,"id":34467918282978,"position":5,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6209.jpg?v=1723804120"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6209.jpg?v=1723804120","width":768},{"alt":null,"id":34467918315746,"position":6,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6210.jpg?v=1723804120"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6210.jpg?v=1723804120","width":768},{"alt":null,"id":34467918348514,"position":7,"preview_image":{"asp
- 4121","width":768},{"alt":null,"id":34467918676194,"position":17,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8088.jpg?v=1723804121"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8088.jpg?v=1723804121","width":768},{"alt":null,"id":34467918708962,"position":18,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8089.jpg?v=1723804121"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8089.jpg?v=1723804121","width":768},{"alt":null,"id":34467918741730,"position":19,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8090.jpg?v=1723804121"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/8090.jpg?v=1723804121","width":1200},{"alt":null,"id":34467918774498,"position":20,"previe
- jektride.co.uk\/cdn\/shop\/files\/12481.jpg?v=1723804121"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/12481.jpg?v=1723804121","width":1200}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cspan\u003eThe ORTLIEB Back-Roller Plus is the ideal bike bag for those who prefer the convenience of the roll closure system. The durable, waterproof, dustproof, abrasion-resistant and high quality Cordura fabric ensures optimal protection for your gear. Equipped with the sophisticated QL2.1 system with self-closing hooks, the ORTLIEB Back-Roller Plus attaches to your bike in a flash. And simply use the easily detachable shoulder strap to carry your bike bag comfortably once you’ve arrived at your destination. Anything else to consider? Well, you’ll want to select your favourite from among the range of fashionable colours.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv role=\"tabpanel\" id=\"description\" class=\"tab-pane fade i t-decoration-style: initial; text-decoration-color: initial;\" role=\"tabpanel\" id=\"product-details\" class=\"tab-pane fade\" data-mce-style=\"box-sizing: inherit; opacity: 1; transition: opacity 0.15s linear 0s; display: block; margin-bottom: 20px; color: rgb(0, 0, 0); font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\"\u003e\u003c\/div\u003e\n\u003c!----\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {45820575875298 : "deny",45820575908066 : "deny",45820575940834 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {45820575875298 : parseI
- ilable = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/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 const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketCo <
- < 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 translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; }
- < !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key
- ated fields found for locale:', normalizedLocale); } 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) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { ersion; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockR
- stockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:preorder-api-ready event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail:
-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(10
rder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}
n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2022-04-13T21:25:19+01:00","created_at":"2022-04-10T11:19:52+01:00","vendor":"ProjektRide","type":"","tags":["Grips \u0026 Bar-tape","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":2499,"price_min":2499,"price_max":2499,"available":true,"price_varies":false,"compare_at_price":2499,"compare_at_price_min":2499,"compare_at_price_max":2499,"compare_at_price_varies":false,"variants":[{"id":42695182942434,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"BT03000A15202","requires_shipping":true,"taxable":true,"featured_image":{"id":37094575210722,"product_id":7676720808162,"position":2,"created_at":"2022-04-10T11:19:52+01:00","updated_at":"2022-05-10T09:34:29+01:00","alt":null,"width":1364,"height":1286,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-04-10at11.17.21.png?v=1652171669","variant_ids":[42695182942434]},"available":true,"name":"Brooks Microfibre bar tape - Black","public_title":"
03eFor grip and control\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv class=\"plus-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"toggle-inner\"\u003e\n\u003cp\u003eMicrofiber Bar Tape provides excellent grip so that riders can exert maximum control.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"toggle-product\"\u003e\n\u003cdiv data-show-image=\"option-image\" class=\"toggle-title active\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"toggle-img\"\u003e\u003cimg src=\"https:\/\/cdn1.brooksengland.com\/media\/wysiwyg\/moreinfo\/LIGHTWEIGHT.png\"\u003e\u003c\/span\u003e\u003cspan class=\"title-name\"\u003eLightweight\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv class=\"plus-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"toggle-inner\"\u003e\n\u003cp\u003eMaterials specially chosen for their remarkable strength-to-weight ratio.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"toggle-product\"\u0[]
{
"@context": "http://schema.org/",
"@type": "Product",
"name": "Brooks Microfibre bar tape",
"url": "https:\/\/projektride.co.uk\/products\/brooks-microfibre-bar-tape-black","image": [
"https:\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2022-04-10at11.20.21_1394x.png?v=1652171669"
],"description": "\nLightweight, Durable, Tight-Handling.\nBrooks Microfibre Bar Tape is a handlebar tape manufactured from a synthetic textile for road bikes or any other drop-bar bike. Durable and waterproof.\n\n\n\nFor grip and control\n\n\n\n\nMicrofiber Bar Tape provides excellent grip so that riders can exert maximum control.\n\n\n\n\n\nLightweight\n\n\n\n\nMaterials specially chosen for their remarkable strength-to-weight ratio.\n\n\n\n\n\nMade to last\n\n\n\n\nDurable materials are chosen for long life and excellent wearing properties.\n \nIf any more information is needed, please don't hesitate to get in touch with one of the team:\nProjektRide Bike shop Edinburgh.\nedinburgh@projektride.co.uk\nT- 01313745324\n \n\n","sku": "BT03000A15202","brand": {
"@type": "Thing",
"name": "ProjektRide"
},"gtin8": "","offers": [{
"@type" : "Offer","sku": "BT03000A15202","availability" : "http://schema.org/InStock",
"price" : 24.99,
"priceCurrency" : "GBP",
"url" : "https:\/\/projektride.co.uk\/products\/brooks-microfibre-bar-tape-black?variant=42695182942434"
},
{
"@type" : "Offer","sku": "BT03000A15203","availability" : "http://schema.org/InStock",
"price" : 24.99,
"priceCurrency" : "GBP",

<
Clothing and ProtectionComponents
E-bike Batteries and chargers span class="visually-hidden">Hire Ortlieb 40L Pannier Bags
Complete Wheels
a class="product__media product__media--featured"
href="/collections/best-selling-collection/products/life-systems-pocket-first-aid-kit-hire"
title="Life Systems Pocket First Aid Kit - HIRE"
aria-label="Life Systems Pocket First Aid Kit - HIRE"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)">
Tools & MaintenanceCleaners, Degreasers and Lubrication>
See More
Accessories
Maintenance>
£0.00Sell Your Bike

<
