Header Image

Klarna PayPal Visa
Close
tus); } 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 fetchStorefrontSettings() { const query = 'query StoqSettings($namespace: String!) { shop { settings: metafield(namespace: $n
hedSettings); } else { console.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; } const storefrontRead = window._RestockRocketConfig.readFlags?.enable_storefront_settings_read === true ? Promise.race([ fetchStorefrontSettings(), new Promise(function(_, reject) { setTimeout(function() { reject(new Error('timed out')); }, 1500); }) ]).catch(function(error) { console.debug('STOQ - Storefront settings read failed, using setting.json:', error.message); }) : Promise.resolve(); storefrontRead
tConfig.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 refreshShopConfig(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)) { th 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 = settings; 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 (L Close
Hire
Looking to purchase with a cycle to work scheme?
Bikes

Click hereSee More to get in touch and get the ball rolling!

EJOY. CUTE. SMART. FEARLESS.New Bikes

See More

Inspired by the lines of vintage Italian scooters and classic German cars, the eJoy combines the timeless language of vehicle design of the past with modern technology and our Etility® design. The result is an ebike that’s both charming and capable.Shop All New Bikes

The powerful and efficient Bosch Active Plus/Bosch Performance electric motor pairs with a sturdy oversized rear rack and an optional frame-mounted front tray to give you serious load capacity. Its comfortable and upright, yet powerful riding position makes riding easy and fun, while the extra-strong aluminium frame with its low step through design gives you a smooth ride with extra control. The eJoy is a true two-wheeled electrical vehicle that allows you to leave your car behind, whether you’re running errands or on a scenic joyride.

 

Road / Gravel / Touring Bikes

SPECS:

Hybrid / City Bikes
  • Bosch Performance 250W, 65Nm, GEN 3
  • Mountain Bikes
  • Bosch Purion On-Board Computer (5 Riding Modes)
  • Bosch Powerpack 400Wh/500Wh Lithium-Ion BatteryElectric Bikes
  • Range 30-90mi (50-145km) Dep. On Mode/Battery
  • Kids Bikes
  • Bosch 2A/4A Compact Charger (6.5h/4.5h Full Charge)
  • Assisted Speed: 25km/hFrames
  • Shimano Deore 10-Speed and Hydraulic Disk Brakes
  • 6061 Aluminum Alloy Frame with Front Tray MountsShop by Brand
  • Oversized CRMO Fork with Integrated HeadsetSee More
  • Puncture Resistance 26” x 2.35” Balloon Tyres (60psi)
  • German Supernova Mini 2 Front Light and E3 Rear LightGloria
  • Frame-Mounted Abus Lock with Same Keys as Battery
  • Trek
  • Large Aluminum Rear Rack (Max. Load 85lbs/40kg)
  • Secure Yepp And Hamax Baby Seat Compatible (1 Seat)Amflow
  • Fits Most Aftermarket Pannier Bags and Accessories
  • Velduro
  • Special Benno Front Trays and Bags Sold Separately
  • One Frame Size (Fits Riders From 5’0” to 6’0”)Yeti

 Ridgeback

Brother
Genesis

 Singular

 

Enigma

 

WARNING:Frog  When carrying passengers, rear wheel  KonaMUST   be covered! Install Benno Wheel Guards or Pannier Bags. Failure to do so could result in serious injury! Make sure that no parts of the body, clothing or load come near moving parts on the bicycle, such as chain, spokes, tyres or brakes.Surly


Do not exceed individual load ratings and max gross weight.

UTO (ex Eovolt)
Early Rider
Argon 18
Custom Builds

Frequently Asked Questions See More

  • Custom Builds for sale
    Custom Build Inspiration

    Please get in touch with a member of the team either by phone ( 01313745324 ) or email ( [email protected] ) where on of the team will be more than happy to help.

    ProjektRide Bike Shop EdinburghServices

    See More
  • 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. Workshop

    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 -See More

    ProjektRide Bike Shop Edinburgh

    82 Newington Road, EH91QN, Edinburgh.

    Workshop Prices
Book a Service