Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
a class="product__media product__media--featured"
href="/collections/all-products/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire"
title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable"
aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable"
style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)">
span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
>
>
window.appBlockPlacements ||= [];
if (window.klarnaAppBlocksManager) {
window.klarnaAppBlocksManager.push({
productVariants: [{"id":43934795497698,"title":"30.9 \/ 90","option1":"30.9","option2":"90","option3":null,"sku":"1C0970","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 30.9 \/ 90","public_title":"30.9 \/ 90","options":["30.9","90"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795530466,"title":"30.9 \/ 120","option1":"30.9","option2":"120","option3":null,"sku":"1C0973","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 30.9 \/ 120","public_title":"30.9 \/ 120","options":["30.9","120"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795563234,"title":"30.9 \/ 150","option1":"30.9","option2":"150","option3":null,"sku":"1C0976","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 30.9 \/ 150","public_title":"30.9 \/ 150","options":["30.9","150"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795596002,"title":"30.9 \/ 180","option1":"30.9","option2":"180","option3":null,"sku":"1C0979","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"L 7034) with a simple Singular logo in ivory. The main pic is a (fairly basic) mock up of the design and the other photos are of earlier versions of the Gryphon.FAQ934795825378,"title":"31.6 \/ 210","option1":"31.6","option2":"210","option3":null,"sku":"1C0983","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 31.6 \/ 210","public_title":"31.6 \/ 210","options":["31.6","210"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795858146,"title":"31.6 \/ 240","option1":"31.6","option2":"240","option3":null,"sku":"1C0987","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 31.6 \/ 240","public_title":"31.6 \/ 240","options":["31.6","240"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795890914,"title":"34.9 \/ 90","option1":"34.9","option2":"90","option3":null,"sku":"1C09We utilise a size specific selection of Taiwan made custom drawn triple butted 4130 Cro-Mo tubing.
Post V3 (With Lever) - 31.6 \/ 150","public_title":"31.6 \/ 150","options":["31.6","150"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795792610,"title":"31.6 \/ 180","option1":"31.6","option2":"180","option3":null,"sku":"1C0980","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 31.6 \/ 180","public_title":"31.6 \/ 180","options":["31.6","180"],"price":28900,"weight":900,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43934795825378,"title":"31.6 \/ 210","option1":"31.6","option2":"210","option3":null,"sku":"1C0983","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"OneUp Components Dropper Post V3 (With Lever) - 31.6 \/ 210","public_title":"31.6 \/ 210","options":["31.6","210"],"p
I'm looking to find out more information about a product, where can I find this?
Red - £40.00 GBP
142×12 thru axle) where on of the team will be more than happy to help.
Pine - £40.00 GBPProduct Details
ProjektRide Bike Shop Edinburgh
Purple - £40.00 GBP
27.2mm seatpost with 30.0mm clamp (included)
ALL DROPPERS NOW SHIP WITH AN INSTALLED V2.1 ACTUATOR
Clearance for up to 29×3″ tyres
The OneUp Dropper post is now available inProduct Details
I'm looking to buy this product, when will it arrive and how much does postage cost?
Quantity: The Plus Rear Bike Light - A super-bright light that can be mounted on your bike or clipped onto your clothing, helmet, backpack etc. Equally impressive as a primary or secondary bike light, Plus is perfect for commuters and road cyclists alike.Bolt-on cable guides on underside of down tube
120mm, 150mm, 180mm and 210mm lengths
1 Our most versatile bike light ever. Mount to your seat post, seat stay or remove from the mount and clip it onto just about anything.Three bottle cage mounts – seat tube, down tube, underside of down tubeIf the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
and all can be shimmed down in travel by 10 or 20mm.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
and Latest COB Technology - Efficient Chip on Board (COB) LEDs provide maximum brightness level for up to 90% of the battery burn time.Fork specification
<
Light Modes - 5Cable actuated for easy installation and a simple no bleed remoteRack mountsimg src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
<label for="quantity--template--15326745395426__main">Quantity
Fits Handle Bars - 22 - 32mm+ diameterErgonomic remote paddle position
barcode":"","featured_media":{"alt":null,"id":65309169222015,"position":39,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz2530190.jpg?v=1744888495"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55333752865151,"title":"Pine","option1":"Pine","option2":null,"option3":null,"sku":"CZ2533010","requires_shipping":true,"taxable":true,"featured_image":{"id":75317160804735,"product_id":15034688962943,"position":49,"created_at":"2025-04-17T12:22:15+01:00","updated_at":"2025-04-17T12:22:17+01:00","alt":null,"width":1800,"height":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz253301_e46b440b-36b0-496c-9f9f-955617d95a71.jpg?v=1744888937","variant_ids":[55333752865151]},"available":true,"name":"Lazer Tempo KinetiCore Helmet - Unisize Adult 54 - 61 cm - Pine","public_title":"Pine","options":["Pine"],"price":4000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":653
{
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated successfully');
} else {
console.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
} else if (attempt
Hire Ortlieb 40L Pannier Bags
Hire Ortlieb 40L Pannier Bags
£0.00
I'm looking to find out more information about a product, where can I find this?
a class="product__media product__media--featured"
href="/products/hire-ortlieb-40l-pannier-bags"
title="Hire Ortlieb 40L Pannier Bags"
aria-label="Hire Ortlieb 40L Pannier Bags"
style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_600x.jpg?v=1741085512)">
span class="visually-hidden">Hire Ortlieb 40L Pannier BagsPlease get in touch with a member of the team either by phone (Life Systems Pocket First Aid Kit - HIRE >
01313745324
>
) or email (
[email protected]
) where on of the team will be more than happy to help.a class="product__media product__media--featured"
href="/collections/all-products/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)">
Hire Ortlieb 40L Pannier BagsProjektRide Bike Shop Edinburghspan class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE
>
£0.00
>
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 = 'product';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:57.337Z","updated_at":"2025-11-11T14:27:02.312Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_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,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_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":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_se
down_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-08-19T10:05:43.042Z","allow_mixed_cart":true}];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":8034382905570,"title":"Singular Gryphon Mk3 Frameset","handle":"singular-gryphon-mk3-frameset","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv dataIgyw vKjZTx5He86dhWbWaFxE size--large\" data-testid=\"GooglePay-button\" tabindex=\"0\" data-mce-fragment=\"1\" data-mce-tabindex=\"0\"\u003e\u003cspan class=\"Xrk_DudB6JJ3t2Kh2_cU\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/form\u003e\u003c\/div\u003e\n\u003cdiv class=\"product__description rte quick-add-hidden\" data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003ehttps:\/\/singularcycles.com\/products\/gryphon-steel\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eWhile we wouldn’t claim to have invented the combination of big wheels and drop bars, Singular was very much at the vanguard of the current era of creating these fun and versatile bikes. Combining big, wide flared drop bars with big, wide tyres makes for an incredible ride over varied terrain - even more-so on a lively steel frame.\u003c\/p\u003e\n\u
eatpost with 30.0mm clamp (included)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eClearance for up to 29×3″ tyres\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eBolt-on cable guides on underside of down tube\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eThree bottle cage mounts – seat tube, down tube, underside of down tube\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFlat mount rear brake on the chainstay\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eFork specification\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eStraight 1 1\/8” steerer\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFlat mount brake\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e100x12mm thru axle\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eBottle cage mounts on fork blades\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRack mou
not explicitly translated, will use default language from cache');
}
// Don't return null - continue using cache even for untranslated locales
}
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
];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cac
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._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
if(settings.enable_app) {
const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
etConfig.scriptUrlProduct);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
}
// Check and update cart selling plans after scripts are loaded
if (settings.preorder_enabled) {
updateCartSellingPlans();
}
// Dispatch custom event when app is loaded
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
function updateCartSellingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
if (window._R
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. [email protected]Location
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
82 Newington Road