Skip to content
District+ 2 Lowstep
Close
Home
Hire
Bikes
Quick Buy
See More
New Bikes
See More
District+ 2 Lowstep
Shop All New Bikes
£2,500.00
Road / Gravel / Touring Bikes
District+ 2 Lowstep - color variant: Keswick
Hybrid / City Bikes
District+ 2 Lowstep - color variant: Trek Black
Mountain Bikes
Electric Bikes
Kids Bikes
District+ 3
Frames
Shop by Brand
See More
Quick Buy
Gloria
Trek
See More
District+ 3 R9 360 LS - color variant: Dark Star
ProjektRide MerchandiseDistrict+ 3 R9 360 LS - color variant: Lunar Silver
Helmets
Gloves
Clothing
SocksQuick Buy
Essentials
See More
Cleaners, Degreasers and Lubrication
District+ 3 R9 540 LS
Accessories £2,500.00
Maintenance
District+ 3 R9 540 LS - color variant: Cobra Blood
Sell Your Bike
Contact Us
FinanceDistrict+ 3 R9 540 LS - color variant: Dark Star
District+ 3 R9 540 LS - color variant: Lunar Silver
Log in
Create account
SearchDistrict+ 4
Cart
0 items
Quick Buy
Sorry, looks like we don't have enough of this product.
District+ 4
From £3,275.00
Add order notes
Special instructions for seller
Open cart
Quick Buy
Home
Hire
District+ 5
Bikes From £4,500.00
New Bikes
Shop All New Bikes
Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
District+ 5 Lowstep
Electric Bikes
Kids Bikes
Frames
Shop by Brand
Gloria
Quick Buy
Trek
Amflow
Velduro
YetiDistrict+ 5 Lowstep
From £4,500.00
Ridgeback
BrotherDistrict+ 5 Lowstep - color variant: Deep Dark Blue
GenesisDistrict+ 5 Lowstep - color variant: Supernova
Singular
Enigma
Frog
Kona
Surly
UTO (ex Eovolt)
Early Rider
Argon 18
Second-Hand Bikes
Shop All Second-Hand
Custom Builds
Custom Builds for sale
Custom Build Inspiration
Domane AL 2 Gen 4
Services
Workshop
Workshop Prices
Book a Service
Track Your Service
Other
Custom BuildsQuick Buy
Cycle To Work Schemes
Insure Your Bike
Book a Service
Domane AL 2 Gen 4
£950.00
Parts & Components
Domane AL 2 Gen 4 - color variant: Fury Red
Brands
Rear Suspension
Finishing KitDomane AL 4 Gen 4
Tyres
Tubes
Tubeless
Saddles
Seat Posts & Clamps
Pedals
Gears & Drivetrain
Components
Quick Buy
E-bike Batteries and chargers
Wheels
Complete Wheels
Tubeless
Tools & Maintenance
Clothing and Protection
Domane AL 4 Gen 4
ProjektRide Merchandise
£1,400.00
Helmets
Domane AL 4 Gen 4 - color variant: Fury Red
Gloves
Domane AL 4 Gen 4 - color variant: Gloss Supernova
Clothing
Domane AL 4 Gen 4 - color variant: Lavender Haze
Socks
EssentialsDomane AL 4 Gen 4 - color variant: Matte Dark Star Black
Cleaners, Degreasers and Lubrication
Accessories
Maintenance
Sell Your Bike
Contact Us
Finance
Domane AL 5 Gen 4
Search for products on our site
My Account
Open cartQuick Buy
Open search bar
Domane SL 5
Search for products on our site £2,500.00
Domane SL 5 - color variant: Buff Beige
Domane SL 5 - color variant: Matte Deep Smoke
Domane SL 5 - color variant: Matte Era White/Deep Smoke
Domane SL 5 - color variant: Matte Nightshade
Suggested search terms
About Us
Contact Us
Blog
Track Service Progress
Book a Service
Workshop
Workshop Prices
See More
Cycle to Work
Workshop Prices
Delivery & Returns
Book a Service
Information
Mon - Fri: 08:30 - 17:30
Track Your ServiceSat: 9:00 - 16:00
Sun: Closed
0131 374 5324
Newington Road
OtherEdinburgh
EH9 1QN
See More[email protected]
Custom Builds
Cycle To Work Schemes await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js");
Insure Your Bike
Country
Book a Service
GBP£
Parts & ComponentsÅland Islands (EUR€)
See More
Albania (ALLL)
Brands
Algeria (DZDد.ج)
See More
Andorra (EUR€)
Hope
EnveAngola (GBP£)
Armenia (AMDդր.)
Cockpit
Ascension Island (SHP£)
See More
Austria (EUR€)
Handlebars
StemsBelarus (GBP£)
Grips & Bar-Tape
Belgium (EUR€)
Headsets
Benin (XOFFr)
Bosnia & Herzegovina (BAMКМ)
Brakes
See More
Botswana (BWPP)
Complete Brakes
British Indian Ocean Territory (USD$)
Brake Rotors
Bulgaria (EUR€)
Brake Pads
Brake SparesBurkina Faso (XOFFr)
ForksBurundi (BIFFr)
See More
Cameroon (XAFCFA)
Front Suspension
Cape Verde (CVE$)
Rear Suspension
Central African Republic (XAFCFA)
Finishing KitChad (XAFCFA)
See More
Comoros (KMFFr)
Tyres
Congo - Brazzaville (XAFCFA)
Tubes
TubelessCongo - Kinshasa (CDFFr)
Saddles
Côte d’Ivoire (XOFFr)
Seat Posts & Clamps
Croatia (EUR€)
Pedals
Cyprus (EUR€)
Gears & DrivetrainCzechia (CZKKč)
See More
Denmark (DKKkr.)
Components
Djibouti (DJFFdj)
E-bike Batteries and chargers
Egypt (EGPج.م)
WheelsEquatorial Guinea (XAFCFA)
See More
Eritrea (GBP£)
Complete Wheels
Guadeloupe (EUR€)
Sell Your Bike
Contact UsGuernsey (GBP£)
Finance
Guinea (GNFFr)
Guinea-Bissau (XOFFr)
Hungary (HUFFt)
Log in
Iceland (ISKkr)
Create account
Ireland (EUR€)
Lesotho (GBP£)
Andorra (EUR€)
Liberia (GBP£)
Angola (GBP£)
Libya (GBP£)
Armenia (AMDդր.)
Liechtenstein (CHFCHF)
Ascension Island (SHP£)
Lithuania (EUR€)
Austria (EUR€)
Luxembourg (EUR€)
Belarus (GBP£)
Madagascar (GBP£)
Belgium (EUR€)
Malawi (MWKMK)
Benin (XOFFr)
South Africa (GBP£)
Eritrea (GBP£)
South Sudan (GBP£)
Estonia (EUR€)
Spain (EUR€)
Eswatini (GBP£)
St. Helena (SHP£)
Ethiopia (ETBBr)
Sudan (GBP£)
Faroe Islands (DKKkr.)
Svalbard & Jan Mayen (GBP£)
Finland (EUR€)
Sweden (SEKkr)
France (EUR€)
Switzerland (CHFCHF)
French Southern Territories (EUR€)
Tanzania (TZSSh)
Gabon (XOFFr)
Togo (XOFFr)
Gambia (GMDD)
Tristan da Cunha (GBP£)
Georgia (GBP£)
Tunisia (GBP£)
Germany (EUR€)
Türkiye (GBP£)
Ghana (GBP£)
Uganda (UGXUSh)
Gibraltar (GBP£)
Ukraine (UAH₴)
Greece (EUR€)
United Kingdom (GBP£)
Greenland (DKKkr.)
United States (GBP£)
Guadeloupe (EUR€)
Vatican City (EUR€)
Guernsey (GBP£)
Western Sahara (MADد.م.)
Guinea (GNFFr)
Zambia (GBP£)
Guinea-Bissau (XOFFr)
Zimbabwe (USD$)
Hungary (HUFFt)
Iceland (ISKkr)
Ireland (EUR€) © 2026,
ProjektRide
.
Isle of Man (GBP£) Powered by
Shopify
.
Italy (EUR€)
American Express
Jersey (GBP£)
Apple Pay
Kenya (KESKSh) Diners Club
Discover
Kosovo (EUR€) Google Pay
Klarna
Latvia (EUR€)
Maestro
Mastercard
Lesotho (GBP£)
PayPal
Liechtenstein (CHFCHF)
Visa
Lithuania (EUR€)
Luxembourg (EUR€)
Madagascar (GBP£)
North Macedonia (MKDден)
Norway (GBP£)
Poland (PLNzł)
Portugal (EUR€)
Réunion (EUR€)
Close
Romania (RONLei)
Rwanda (RWFFRw)
window._RestockRocketConfig = window._RestockRocketConfig || {} window._RestockRocket = window._RestockRocket || {} window._Stoq = window._RestockRocket window._StoqConfig = window._RestockRocketConfig try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 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 = 'collection'; window._RestockRocketConfig.liquidRenderedAt = 1790455583;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; if (!window._RestockRocketConfig.cartToken) { try { const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); } catch (e) { } } window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2026-08-12T16:44:57.298Z","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":{"disableDebugLoggingForNonPreorderItem":false},"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_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":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_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-grid-item__info","insert_button_after_selector_index":".product-grid-item__info","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push 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":".product-grid-item__info","show_button_on_page":false,"insert_button_after_selector_search":".grid","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":".product-grid-item__title","index_link_selector":".product-grid-item__title","page_link_selector":".product-grid-item__title","search_link_selector":".product-grid-item__title","collection_check_link_visibility":true,"collection_buttons_container":".grid","index_buttons_container":".carousel.grid--mobile .flickity-viewport","page_buttons_container":".grid","search_buttons_container":".grid","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":"","preorder_add_to_cart_button_selector":".product__submit__holder .product__submit__buttons button","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_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":".product__media__holder","preorder_index_badge_selector":".product__media__holder","preorder_page_badge_selector":".product__media__holder","preorder_search_badge_selector":".product__media__holder","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":".product__form .btn","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":".product__price--regular","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".product__price--regular","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".product__form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-08-12T16:44:57.369Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false}; window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42140096102626,42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,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,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938298233058,43938298265826,43938298298594,43938298331362,43938298364130,43938298396898,43938298429666,43938298462434,43938299805922,43938299838690,43938299871458,43938299904226,43938299936994,43938299969762,43938300002530,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,43981392806114,43981392871650,43981392937186,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55066403209599,55066403242367,55569712382335,55569712415103,55569712447871,55569712480639,55570017616255,55570550194559,55604008976767,55638316908927,55638316941695,55638316974463,56220814967167,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56399322251647,58086872056191,58086872088959,58145667154303,58156649972095,58205080093055,58205080125823,58434279833983,58504939569535],"updated_at":"2026-09-26T20:34:42Z","market_locations_enabled":false,"market_id":13779632354,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null,"bulk_operation":true};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-09-26T20:36:25Z","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":"2026-09-26T20:36:25Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642"; window._RestockRocketConfig.sellingPlans = [];(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","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Estimated to ship within 2 months","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,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","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,"countdown_timer_days_label":"Days","countdown_timer_hours_label":"Hours","countdown_timer_minutes_label":"Mins","countdown_timer_seconds_label":"Secs","schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-31T15:28:37.678Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false,"batches_enabled":false,"preorder_batches":[],"batch_status_past_text":"Sold out","batch_status_live_text":"Live","batch_status_upcoming_text":"Coming soon"}],"disabled_plan_ids":[714631872895,713813721471,713176482175],"cached_at":"2026-08-31T15:28:38Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { 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; 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.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"}]; try { var _sqCfg = window._RestockRocketConfig; var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); } catch (e) { } try { var _sqc = window._RestockRocketConfig; var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); var _sqPre = (_sqc.cachedPreorderVariantIds && _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; var _sqArm = false; if (_sqOn && _sqc.preordersConfigured) { if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); } else { _sqArm = (_sqc.integrations || []).some(function (i) { return i && i.type === 'featured_product' && i.enabled && Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; }); } } if (_sqArm && document.documentElement) { _sqc.acceleratedGateArmed = true; document.documentElement.classList.add('stoq-buy-now-pending'); setTimeout(function () { document.documentElement.classList.remove('stoq-buy-now-pending'); }, 6000); } } catch (e) { } window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0dd9a-8d45-700e-8b7c-b94a078fbbdd/restockrocket-1-598/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0dd9a-8d45-700e-8b7c-b94a078fbbdd/restockrocket-1-598/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0dd9a-8d45-700e-8b7c-b94a078fbbdd/restockrocket-1-598/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0dd9a-8d45-700e-8b7c-b94a078fbbdd/restockrocket-1-598/assets/restockrocket-collection-bis.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 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; const LIQUID_CACHE_MAX_AGE = 15 * 60; const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 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); const liquidCacheAge = now - liquidRenderedAt; window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); if (liquidCacheAge
< = 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; } if (settings.multi_language_enabled) { if (!settings.translations) { console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } if (window._RestockRocketConfig.normalizedLocale &
& !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 <
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') try { const _stoqInitConfig = window._RestockRocketConfig; const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqI nitConfig.product.variants)) ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) : []; const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; var _stoqPageSeq = 0; try { _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); } catch (e) { } Shopify?.analytics?.publish?.('stoq_initialized', { cart_token: _stoqInitConfig.cartToken || '', page_url: window.location.href, page_type: _stoqInitConfig.pageType || '', shop_domain: _stoqInitConfig.shop || '', market_id: _stoqInitConfig.marketId || '', country_code: _stoqInitConfig.countryIsoCode || '', detected_variant_ids: _stoqDetectedVariantIds, selected_variant_id: _stoqSelectedVariantId || '', page_load_seq: _stoqPageSeq, liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, app_version: _stoqInitConfig.appVersion || '',
liquid_cache_age: _stoqInitConfig.liquidCacheAge, inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], }); } catch (e) { console.debug('STOQ - stoq_initialized publish failed:', e); } try { var _sqTrack = window._RestockRocketConfig; if (_sqTrack.preordersConfigured) { document.addEventListener('click', function (e) { try { var t = e.target; if (!t || !t.closest) return; var host = t.closest('.shopify-payment-button, shopify-payment-terms'); if (!host) return; var channel = host.matches && host.matches('shopify-payment-terms') ? 'shop_pay_installments' : 'buy_now'; var form = host.closest('form'); var vidEl = form && form.querySelector('[name="id"]'); var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; São Tomé & Príncipe (STDDb) var _sqVidNum = Number(variantId); var _sqPlan = null; var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; var _sqMktId = Number(_sqTrack.marketId); var _sqForVariant = function (pl) { return pl && pl.enabled && Array.isArray(pl.variant_ids) && pl.variant_ids.indexOf(_sqVidNum) !== -1; }; _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && Array.isArray(pl.shopify_market_ids) && pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } }); if (!_sqPlan) { _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } }); } Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { variant_id: variantId, product_id: (_sqTrack.product && _sqTra
ck.product.id) || '', channel: channel, market_id: _sqTrack.marketId || '', country_code: _sqTrack.countryIsoCode || '', page_type: _sqTrack.pageType || '', cart_token: _sqTrack.cartToken || '', page_url: (window.location && window.location.href) || '', properties: { is_preorder_variant: (function () { var vid = Number(variantId); var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; return has(_sqTrack.preorderVariantIds) || has(_sqTrack.cachedPreorderVariantIds && _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); })(), in_enabled_plan: !!_sqPlan, is_instock_variant: (function () { var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; return has(_sqTrack.inStockVariantIds) || h as(_sqTrack.cachedInStockVariantIds && _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); })(), enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.classList.contains('stoq-buy-now-pending')), blocked: (function () { try { var rr = window._RestockRocket; return !!(rr && typeof rr.willBlockAcceleratedClick === 'function' && rr.willBlockAcceleratedClick(e)); } catch (err) { return false; } })(), },
}); } catch (err) { } }, true); } } catch (e) { } function applyTranslations(settings) { try { if (!settings || !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) { 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]; 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; } } function setupCartSellingPlanUpdater(settings) { 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 updated successfully'); } else { console.debu
g('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } function storefrontGraphql(query, variables) { const cfg = window._RestockRocketConfig; if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { return Promise.reject(new Error('Storefront API unavailable')); } return fetch( `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, }, body: JSON.stringify({ query: query, variables: variables }), } ) .then(function(response) { if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } return response.json(); }) .then(function(body) { if (body && body .errors && body.errors.length) { throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); } return body && body.data; }); } function fetchStorefrontShopMetafield(key) { const cfg = window._RestockRocketConfig; const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) .then(function(data) { const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } return JSON.parse(value); }); } (function loadStorefrontSettings() { const cfg = window._RestockRocketConfig; if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; function run() { // The live-settings read is one more shop
-level metafield fetch, so it // shares fetchStorefrontShopMetafield with the integrations/selling_plans // reads rather than re-issuing the same query + parse. fetchStorefrontShopMetafield('settings') .then(function(settings) { cfg.storefrontSettings = settings; console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); }) .catch(function(e) { console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); }); } if (typeof window.requestIdleCallback === 'function') { window.requestIdleCallback(run, { timeout: 5000 }); } else { setTimeout(run, 0); } })(); const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { consolSenegal (XOFFr) e.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 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 (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 fetchEmbedConfig(endpoint, apply) { return fetch( `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, { headers: { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' } } ) .then(function(response) { if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); return response.json(); }) .then(function(data) { try { apply(data); } catch (applyError) { console.error('STOQ - apply failed for ' + endpoint + ':', applyError); throw applyError; } }) .catch(function(error) { console.debug(`STOQ - using cached ${endpoint}:`, error.message); }); } function refres hShopConfig(source) { const cfg = window._RestockRocketConfig; const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; if (!flagOn || source.embedOnly === true) { return viaEmbed(); } return fetchStorefrontShopMetafield(source.metafieldKey) .then(function(value) { if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } source.apply(value); console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); }) .catch(function(error) { console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); return viaEmbed(); }); } function refreshIntegrations() { const cfg = window._RestockRocketConfig; return refreshShopConfig({ endpoint: 'integrations', metafieldKey: 'integrations',
flag: 'enable_storefront_integrations_read', isValid: function(value) { return Array.isArray(value); }, apply: function(data) { cfg.integrations = data; } }); } function refreshSellingPlans(embedOnly) { const cfg = window._RestockRocketConfig; return refreshShopConfig({ embedOnly: embedOnly === true, endpoint: 'selling_plans', metafieldKey: 'cachedSellingPlans', flag: 'enable_storefront_selling_plans_read', isValid: function(value) { return !!value && Array.isArray(value.plans); }, apply: function(data) { cfg.sellingPlans = data.plans; cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { cfg.readFlags = data.read_flags; } } }); } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = setting s; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; if (forceEmbedSellingPlans || staleRefresh) { console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; if (staleRefresh) { refreshes.push(refreshIntegrations()); } Promise.race([ Promise.all(refreshes), new Promise(function(resolve) { setTimeout(resolve, 1000); }) ]).then(function() { loadScripts(settings); }); return; } loadScripts(settings); } function loadScripts(settings) { setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketCo
nfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) 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 pageType = win dow._RestockRocketConfig.pageType; const collectionPageTypes = ['collection', 'index', 'search', 'page']; if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { createRestockRocketScript(collectionScriptUrl); } else if(pageType === 'product') { createRestockRocketScript(productScriptUrl); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(usePreorderBuild) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${pageType}`); } const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } });
Seychelles (GBP£)
Sierra Leone (SLLLe)
Slovakia (EUR€)
Slovenia (EUR€)
Somalia (GBP£)
South Africa (GBP£)
South Sudan (GBP£)
Spain (EUR€)
St. Helena (SHP£)
Sudan (GBP£)
Svalbard & Jan Mayen (GBP£)
Sweden (SEKkr)
Switzerland (CHFCHF)
Tanzania (TZSSh)
Togo (XOFFr)
Tristan da Cunha (GBP£)
Tunisia (GBP£)
Türkiye (GBP£)
Uganda (UGXUSh)
Ukraine (UAH₴)
United Kingdom (GBP£)
United States (GBP£)
Vatican City (EUR€)
Western Sahara (MADد.م.)
Zambia (GBP£)
Zimbabwe (USD$)
Shop All
Products
Home
/
Collections
/
All Products
Sort by
Featured
Most relevant
Best selling
Alphabetically, A-Z
Alphabetically, Z-A
Price, low to high
Price, high to low
Date, old to new
Date, new to old
1342 products
Close Filters
Filters
Clear all
Sort by
Featured
Most relevant
Best selling
Alphabetically, A-Z
Alphabetically, Z-A
Price, low to high
Price, high to low
Date, old to new
Date, new to old
Price
£
From
£
To
Brand
Aeore
Amflow
Apidura
Argon 18
Atran Velo
AtranVelo
Basso
Batribike
Benno
bic
Bombtrack
brooks
Brooks
Brother Cycles
Burgtec
Cane Creek
Continental
continental
Coros
CUBE
Cube
Diamant
dynaplug
Early Rider
Enigma
Enve
Eovolt
Ergon
ESI
Evoc
extra
Fidlock
Flux
Genesis
Gloria
halo
happy bottom
Hope
Humber Bicycles
Hydrapack
hydrapak
Kinesis
Knog
Kona
Kranx
Kryptonite
Lazer
Lezyne
Life Systems
Madison
madison
Marin
Maxxis
morganblue
Muc-Off
Muc-off
One-Up
OneUp
Orange seal
ortlieb
Park Tool
Parktool
Passport
Pirelli
ProjektRide
renthal
Restrap
Ridgeback
RockShox
Rockshox
Safety Labs
Schwalbe
schwalbe
sea to summit
Shimano
Skarper
Surly
Teravail
Thomson
thule
Topeak
Trek
Truflo
upgrade
Vecnum
Velduro
Voile
Yeti
zipp
Show more
Show less
Model
2025
2026
2027
2028
ACCESS
Accessories
ACTIVE
Aero Road Bike
All Road
Apidura
Argon 18
AT3 - ATB Bikes OVER $1000
Backcountry
Bags and Transportation
Basket
Battery
Bike
BIKE
bike
Bike Packing
BIKE_HIRE_OC
Bikepacking
Bikes
BIKES
bikes
Bosch CompactTube 400
Bosch Drive Unit Cargo Line 85Nm (BDU37)
Bosch Drive Unit Performance Line 75Nm (BDU34)
Bosch Drive Unit Performance Line CX max. 120Nm (BDU38)
Bosch Drive Unit Performance SX max. 60Nm (BDU31)
Bosch PowerPack 545
Bosch PowerPack 800
Bosch PowerTube 600
Bosch PowerTube 800
bottles and cages
brooks
Brother Cycles
Cargo bike
CARRY OVER
Cleaners
Cleaners Degreasers and Lubrication
Complete wheels
CRD - Carbon Road
Croix de Fer
CUBE
E-bike
Early Rider
EAT - E-ATB
EBIKE
Electric Bike
Electric bike
Electronic Shifting
EMF - E-Full Suspension
END OF LIFE
ERD - E-Road
ETR - E-Trekking
Expedition
Family bike
Finishing Kit
Frame Bag
frames
Frameset
Genesis
Gravel
Gravel Bike
grips
Grips & Bar-tape
Handlebars
HBR - Hybrid Bikes
hope
Hybrid MTB
Hybrid Trekking
Hybrid Urban
izyrent
KATHMANDU HYBRID
KDS - Kids Bikes
MFS - Full Suspension
NEW 2026
pannier
PRE RELEASED
REACTION HYBRID
Road / Gravel / Touring Bikes
Road Bike
Saddles
spo-cs-disabled
spo-default
spo-disabled
spo-notify-me-disabled
Steel
STEREO HYBRID ONE22
STEREO HYBRID ONE44
STEREO HYBRID ONE44 HPC
STEREO HYBRID ONE77 HPC
surly
Surly
SWITCH
Tools & Maintenance
Top Tube Bag
Trek
tyres
Show more
Show less
Material
Aluminum
Carbon
Steel
Alloy
Cork
Fabric
titanium
Size
XS
Extra Small
xSmall
X-Small
S
Small
M
Medium
medium
L
Large
XL
Extra Large
xLarge
XLarge
X-Large
XXL
XXLarge
44
47
48
49
50
52
54
56
58
60
61
62
27.5 x 2.10
29 x 2.20
700c x 38
700c x 42
700c x 47
12/142 CLINCHER/SHIMANO
12/142 CLINCHER/SHIMANO/CERAMIC
12/142 CLINCHER/XDR
12/142 CLINCHER/XDR/CERAMIC
38cm
40cm
42 cm
42cm
46 cm
46cm
48cm
50 cm
50cm
52cm
54 cm
54cm
56cm
58 cm
58cm
60cm
62 cm
62cm
64cm
1.4 Litre
2.8 Litre
4.0 Litre
10mm
20mm
30mm
40mm
100mm
35mm Reach
42.5mm Reach
12/142 - Mircospline
12/142 - N3W
12/142 - Shimano
12/142 - XDR
12X142MM CLINCHER/SHIMANO
12X142MM CLINCHER/SHIMANO/CERAMIC
12X142MM CLINCHER/XDR
12X142MM CLINCHER/XDR/CERAMIC
700c / 25mm
700c / 28mm
700c / 32mm
Extra Extra Large
Extra Large - 56
Extra Large - 60
L 57-59
L-XL
Large - 51
Large - 57
Large / Extra Large
M 54-56
Medium - 46
Medium - 53
Medium / Large
ML
Regular
S 51-53
S-M
Small - 50
UNISIZE
XL 60-62
XS 47-50
XXS 44-46
Show more
Show less
Colour
Aurora Charcoal
Black
blackline
Blue
Blue Sage
blueiris/reflect
British Racing Green
Buff Beige
Carbon Red Smoke
Carbon Smoke / Lithium Grey Marble
Carbon Smoke/Galactic Grey Marble
Carbon Smoke/Lithium Grey Marble
cedar/chrome
coal/prism
Cobra Blood
Cosmic Teal
Covellite Blue
Crystal Black / Foil
Crystal Black/Copper, Gloss
Crystal White
Dark Aquatic
Dark Star
Dark Web
Deep Smoke
Desert Sage
desertstone/driedherbs
electricblue/dazzle
Era White
Era White/Buff Beige
Era White/Supernova Marble
Fury Red
Gloss Chameleon Green /Matte Black
Gloss Crystal White/Matte Deep Smoke
Gloss Dark Carmine / Matte Trek Black
Gloss Dark Star/Matte Deep Smoke
Gloss Fury Red/Matte Deep Smoke
Gloss Navy Smoke / Matte Trek Black
Gloss Navy Smoke/Matte Trek Black
Gloss Supernova
Green
Grey
Harvest Moon
Hex Blue
indigoblue/reflex
Iridescent Charcoal, Gloss
Ivy Smoke
Laguna Blue
Lava
Lavender Haze
Lichen Green
Lichen Green/Keswick Green Splatter
Lidl-Trek Team Replica
Lithium Grey
Lithium Grey / Trek Black Splatter
lizard/black
Lunar Silver
Matte Carbon Smoke/Prismatic Pearl
Matte Cobalt Blue/Trek Black/Living Coral
Matte Dark Star Black
Matte Deep Smoke
Matte Era White/Deep Smoke
Matte Juniper/Blue Sage Splatter
Matte Nightshade
Matte Sedona Red/Pennyflake Splatter
Miami Green / Aloha Marble
Mother of Pearl/Silver Marble
Mulsanne
Mulsanne Blue
Navy Smoke
Navy Smoke/Trek White
nebular/dazzle
Pennyflake
Phoenix Mist
Phoenix Storm
Plasma Grey Pearl
plumgrey/black
polarlight/prism
Purple Phaze / Amethyst Marble
Purple Phaze/Amethyst Marble
Rainbow Grey
Red
Red Smoke/Drizzle
reedbeige/black
reedgreen/matrix
royalgreen/prism
Serpentine
Silver
Silver Linear Fade w/ Fury Red Smoke
silverdust/chrome
sleekgrey/prism
smaragdgrey/prism
Smoked Nickel
solareclipse/gold
Teal
Team Replica
Titanium / Racing Red
Turquoise
Violet Smoke
Violet Smoke / Green Flash
White
Show more
Show less
Condition
New
Second Hand
Electric
Yes
No
Show my results
Domane SL 6 Gen 4
Sold Out
Quick Buy
Domane SL 6 Gen 4
£3,750.00
Domane SL 6 Gen 4 - color variant: Dark Star to Bronze Age Fade
Domane SL 6 Gen 4 - color variant: Era White/Glowstick/Coral Fade
Domane SL 6 Gen 4 - color variant: Ivy Smoke
Quick Buy
Domane SL 7 AXS 1x
£4,750.00
Domane SL 7 AXS 1x - color variant: Buff Beige
Domane SL 7 AXS 1x - color variant: Matte Deep Smoke
Domane SL 7 AXS 1x - color variant: Matte Era White/Deep Smoke
Domane SL 7 AXS 1x - color variant: Matte Nightshade
Quick Buy
Domane SLR 7 AXS Gen 5
£6,700.00
Domane SLR 7 AXS Gen 5 - color variant: Matte Deep Smoke
Domane SLR 7 AXS Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane SLR 7 AXS Gen 5 - color variant: Navy Smoke/Trek White
Domane SLR 7 AXS Gen 5 - color variant: Serpentine
Sold Out
Quick Buy
Domane SLR 7 Gen 5
£6,300.00
Domane SLR 7 Gen 5 - color variant: Matte Deep Smoke
Domane SLR 7 Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane SLR 7 Gen 5 - color variant: Navy Smoke/Trek White
Domane SLR 7 Gen 5 - color variant: Serpentine
Quick Buy
Domane SLR 9 AXS 1x Gen 5
£9,000.00
Domane SLR 9 AXS 1x Gen 5 - color variant: Matte Deep Smoke
Domane SLR 9 AXS 1x Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane SLR 9 AXS 1x Gen 5 - color variant: Navy Smoke/Trek White
Domane SLR 9 AXS 1x Gen 5 - color variant: Serpentine
Sold Out
Quick Buy
Domane SLR 9 AXS Gen 5
£9,000.00
Domane SLR 9 AXS Gen 5 - color variant: Matte Deep Smoke
Domane SLR 9 AXS Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane SLR 9 AXS Gen 5 - color variant: Navy Smoke/Trek White
Domane SLR 9 AXS Gen 5 - color variant: Serpentine
Quick Buy
Domane SLR 9 AXS No. 76
£11,250.00
Sold Out
Quick Buy
Domane SLR 9 Gen 5
£8,500.00
Domane SLR 9 Gen 5 - color variant: Matte Deep Smoke
Domane SLR 9 Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane SLR 9 Gen 5 - color variant: Navy Smoke/Trek White
Domane SLR 9 Gen 5 - color variant: Serpentine
Domane+ ALR 5
Quick Buy
Domane+ ALR 5
£4,000.00
Domane+ ALR 5 - color variant: Matte Dark Star
Domane+ ALR 5 - color variant: Plasma Grey Pearl
Quick Buy
Domane+ SL 6 AXS Gen 5
£5,250.00
Quick Buy
Domane+ SL 7 AXS Gen 5
£6,500.00
Domane+ SL 7 AXS Gen 5 - color variant: Matte Deep Smoke
Domane+ SL 7 AXS Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane+ SL 7 AXS Gen 5 - color variant: Navy Smoke/Trek White
Domane+ SL 7 AXS Gen 5 - color variant: Serpentine
Quick Buy
Domane+ SL 9 AXS Gen 5
£8,000.00
Domane+ SL 9 AXS Gen 5 - color variant: Matte Deep Smoke
Domane+ SL 9 AXS Gen 5 - color variant: Mother of Pearl/Silver Marble
Domane+ SL 9 AXS Gen 5 - color variant: Navy Smoke/Trek White
Domane+ SL 9 AXS Gen 5 - color variant: Serpentine
Domane+ SLR 6
Quick Buy
Domane+ SLR 6
£6,500.00
Domane+ SLR 6 - color variant: Juniper
Domane+ SLR 6 - color variant: Matte Deep Smoke
Domane+ SLR 7
Quick Buy
Domane+ SLR 7
£7,625.00
Domane+ SLR 7 - color variant: Era White/Supernova Marble
Domane+ SLR 7 - color variant: Gecko Phaze
Domane+ SLR 7 - color variant: Matte Deep Smoke
Domane+ SLR 7 - color variant: Metallic Red Smoke/Red Carbon Smoke
Domane+ SLR 9
Quick Buy
Domane+ SLR 9
£11,750.00
Domane+ SLR 9 - color variant: Carbon Red Smoke
Domane+ SLR 9 - color variant: Era White/Supernova Marble
Domane+ SLR 9
Quick Buy
Domane+ SLR 9
£10,000.00
Domane+ SLR 9 - color variant: Era White/Supernova Marble
Domane+ SLR 9 - color variant: Gecko Phaze
Domane+ SLR 9 - color variant: Matte Deep Smoke
Domane+ SLR 9 - color variant: Metallic Red Smoke/Red Carbon Smoke
Dual Sport+ 2 LT
Quick Buy
Dual Sport+ 2 LT
From £2,000.00
Dual Sport+ 2 LT - color variant: Galactic Grey
Dual Sport+ 2 LT - color variant: Hex Blue
Dual Sport+ 2 Midstep LT
Quick Buy
Dual Sport+ 2 Midstep LT
£2,050.00
Dual Sport+ 2 Midstep LT - color variant: Galactic Grey
Dual Sport+ 2 Midstep LT - color variant: Hex Blue
Dual Sport+ 2 Stagger
Quick Buy
Dual Sport+ 2 Stagger
£2,150.00
Dual Sport+ 2 Stagger - color variant: Galactic Grey
Dual Sport+ 2 Stagger - color variant: Hex Blue
Dynaplug Micro Pro bicycle tubeless repair kit - Black
Sold Out
Quick Buy
Dynaplug Micro Pro bicycle tubeless repair kit - Black
£42.00
Early Rider Bella Velio Black
Quick Buy
Early Rider Bella Velio Black
£199.00
Early Rider Bella Velio Ivory
Quick Buy
Early Rider Bella Velio Ivory
£199.00
Early Rider Bella Velio Pistachio Green
Sold Out
Quick Buy
Early Rider Bella Velio Pistachio Green
£199.00
Early Rider Bella Velio Powder Pink
Quick Buy
Early Rider Bella Velio Powder Pink
£199.00
Previous page
1
…
19
20
21
22
23
…
56
Next page
Close
Close