Yes! We offer a wide range of accessories, from bikepacking kits to helmets and locks. We’ll always do our best to accommodate your needs, and if we don’t have exactly what you’re looking for, we’ll help you find it. You can view the full list of available accessories below our hire bikes.
WHEELBASE
Yeti
1211
Can I cancel my booking?
1246
Ridgeback
1270
Cancellations received within 5 days of the scheduled hire booking date are non-refundable. Due to the high demand for our hire fleet, we cannot process refunds for late cancellations. You should submit any claim for lost hire fees to your travel insurance provider.
Brother
1302
1329GenesisDo I need to pay a security deposit?
SingularWe kindly request that you treat our hire bikes and equipment with care.
H
We invest significantly in these products to ensure you have an excellent experience.
In the event of damage, please note that our insurance will cover the costs. Please ensure you bring a valid ID upon collection.
ESTIMATED BB HEIGHTEnigma
353
FrogCan I hire a custom-build bike?
353
353KonaIf you are looking for a custom bike for your tour,
please get in touch
353. We can do full custom-builds at a higher rental rate.
Surly
353
Can I ProjektRide keep my belongings safe whilst I travel with the bike?UTO (ex Eovolt)
I
We offer complimentary, secure storage for your personal belongings, including luggage and suitcases, during your rental period.Early Rider
STANDOVER
735
From what time can I pick up my hire bike?
744
Second-Hand Bikes
750Our opening hours are Mon - Fri: 09:00 - 18:30, Sat: 9:00 - 16:00 and closed on Sundays. However, if you would like a pickup/drop off on Sundays, please drop us a message, and we can organise a time on Sundays that suitShop All Second-Hand
756
757At what time do I need to return the bike?
Custom Builds
You must return your bike before the shop closes on your return date. Please review our working hours Custom Builds for sale
Jhere
. Failure to do so in time may result in additional charges. Please see our
HEADTUBE LENGTHBike Hire Terms & ConditionsCustom Build Inspiration
for more information. If you are returning your bike on a Sunday, please add a note to your order with your number and your ETA return date so we can arrange your drop off out-of-hours.
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_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":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","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":null,"insert_button_after_selector_index":null,"push
rl_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_selector":"","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_selec
ey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,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_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:2
":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"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.","preorder_min_quantity":nul
t":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":15129717965183,"title":"Hire - Amflow PL Carbon - 800WH","handle":"amflow-pl-carbon-800-wh-copy-1","description":"\u003cdiv class=\"flex max-w-full flex-col flex-grow\"\u003e\n\u003cdiv class=\"min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+\u0026amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"671ef5bb-5917-4af0-a474-7dba87d52c65\" data-message-model-slug=\"gpt-4o\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"\u003e\n\u003cdiv class=\"markdown prose w-full break-words dark:prose-invert light\"\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003ePLEASE NOTE: This is a HIRE bike not a bike for sale\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-start=\"240\" data-end=\"571\"\u003eThe Amfl
r-role=\"assistant\" data-message-id=\"671ef5bb-5917-4af0-a474-7dba87d52c65\" data-message-model-slug=\"gpt-4o\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"\u003e\n\u003cdiv class=\"markdown prose w-full break-words dark:prose-invert light\"\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003ePLEASE NOTE: This is a HIRE bike not a bike for sale\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-start=\"240\" data-end=\"571\"\u003eThe Amflow PL Carbon eMTB is built for riders who want power, agility, and cutting-edge performance on any trail. Featuring DJI’s advanced Avinox Drive System and a lightweight carbon frame, it delivers an incredible blend of speed, control, and comfort — perfect for taking on everything from steep climbs to technical descents.\u003c\/p\u003e\n\u003cp data-start=\"573\" data-end=\"912\"\u003eWith its high-capacity 800Wh battery, fast charging system, and intelligent ride modes, you’ll have the confidence to go further and
d
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
// Translations object exists in metafield - cache is valid
// If current locale isn't translated, applyTranslations will gracefully use default locale from base fields
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');
}
// 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
<
!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 v
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 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
maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}