a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'>
div class="result__image-img product__media lazyload fade-in"
data-bgset="{{ it.product.image.thumb }}"
data-aspectratio="{{ it.product.image.aspectRatio }}"
data-sizes="auto">
{{@if(it.product.badgeText)}}
div class="product__tag{{ it.product.badgeClasses }}">
span>{{ it.product.badgeText | safe }}
img src="//projektride.co.uk/cdn/shop/files/av031_02_98x.jpg?v=1729938898" alt="" class="product-single__thumbnail-img">
>
{{/if}}
>
img src="//projektride.co.uk/cdn/shop/files/av031_02_98x.jpg?v=1729938898" alt="" class="product-single__thumbnail-img">
>
>
p class="result__title">
<<
a href="{{ it.product.url }}">{{ it.product.title }}img src="//projektride.co.uk/cdn/shop/files/av031_03_98x.jpg?v=1729938898" alt="" class="product-single__thumbnail-img">
>
>
>
console.log("pr-product-page");
- <<
li class="result result--full">
img src="//projektride.co.uk/cdn/shop/files/av031_04_98x.jpg?v=1729938898" alt="" class="product-single__thumbnail-img">
- BUYp class="result__title">{{ it.item.text }} >
- SELL>
- RIDE CONFIDENT { "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" } < img src="//projektride.co.uk/cdn/shop/files/av031_05_98x.jpg?v=1729938898" alt="" class="product-single__thumbnail-img">
BUY
SELL
SELL



Trek Rail+ 9.9 X0 AXS T-Type Gen 5
SKU: 5329158
label for="quantity--template--15326745395426__main">Quantity
>
Black[email protected]
) where on of the team will be more than happy to help.
Components
Shop All Second-Hand
Gloria
See More
Forks
) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
I'm looking to buy this product, when will it arrive and how much does postage cost?
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.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
der_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];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":8743130759394,"title":"AtranVelo Carry AVS Box, With Carry Handles","handle":"atranvelo-carry-avs-box-with-carry-handles","description":"\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eThe CARRY is a solid-sided functional basket with AVS integration. The sealed design will keep your belongings safe and dry if com
Accessories","tags":["Basket","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":6499,"price_min":6499,"price_max":6499,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":46081976926434,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"AV031","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"AtranVelo Carry AVS Box, With Carry Handles","public_title":null,"options":["Default Title"],"price":6499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/av031_02.jpg?v=1729938898","\/\/projektride.co.uk\/cdn\/shop\/files\/av031_03.jpg?v=1729938898","\/\/projektride.co.uk\/cdn\/shop\/files\/av031_04.jpg?v=1729938898","\/\/projektride.co.uk\/cdn\/shop\/files\/av031_0Servicing
Custom Build Inspiration ?v=1729938898"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/av031_04.jpg?v=1729938898","width":1800},{"alt":null,"id":34865516871906,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/av031_05.jpg?v=1729938898"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/av031_05.jpg?v=1729938898","width":1800},{"alt":null,"id":34865516904674,"position":5,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/av031.jpg?v=1729938898"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/av031.jpg?v=1729938898","width":1800}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eThe CARRY is a solid-sided functional basket with AVS integration. The sealed design willWorkshop Prices
;
window._RestockRocketConfig.variantsInventoryQuantity = {46081976926434 : parseInt("1"),};
window._RestockRocketConfig.variantsPreorderCount = {46081976926434 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {46081976926434 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {46081976926434 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46081976926434 : null,};
window._RestockRocketConfig.variantsShippingText = {46081976926434 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {46081976926434 : null,};
window._RestockRocketConfig.selected_variant_id = 46081976926434;
window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019bf9e0-3016-7510-aaea-Cycle to WorkWe also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh| Max compatible fork travelCustom Buildstor_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_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":"afteCookie Policy | See Moreeorder_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":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_Terms of Service180 mm "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","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,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,4Refund policy | 392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,562702796
|---|
s but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no translation data in metafield
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
// 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 (Delivery & Returns
Wheels
<
!settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key
nt) {
console.debug('STOQ - Preorder API ready, updating cart selling plans');
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated successfully');
} else {
console.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
}
});
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching
ServicesSettings) {
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}`);
// Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions
setupCartSellingPlanUpdater(settings);
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);
})
if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_INFORMATION
cript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
}
// Dispatch custom event when app is loaded
// Cart selling plan updates will be triggered by stoq:preorder-api-ready event
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
|
Size:Front Suspension
S, M, L, XL
Bosch PowerTube 800 Wh, smart systemRear Suspension |
|
|
Finishing KitSize:See More
S, M, L, XL
SRAM eTap battery pack (with charger) |
Tyres|
| ChargerTubes | Bosch standard 4A, 230V, smart system | Tubeless
| ControllerSaddles | Bosch System Controller BRC3100, smart system | Seat Posts & Clamps
| MotorPedals | Bosch Performance Line CX, 20 mph / 32 km/h max assist (25 km/h max assist in EU and APAC) |
Drivetrain
E-bike Batteries and chargers
| Handlebar Mountain Bikes | BikesBontrager Line Pro, OCLV Carbon, 35 mm, 27.5 mm rise, 780 mm width | CloseElectric Bikes
|---|---|
| *Grips HomeKids Bikes | New Bikes
Size:Shop All New BikesHireFrames
S, M, L, XL
Bontrager XR Trail Elite, nylon lock-onRoad / Gravel / Touring BikesBikes |
Shop by Brand
|
Mountain BikesGloria
Electric BikesTrek |
|
| #shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; } | FramesYeti | This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.
| Shop by Brand | BrotherClose | Gloria
| Trek |
SingularHireAmflow
EnigmaBikes Yeti |
See More
|
See MoreSize:
Kona
Brother
New Bikes
S, M, L, XL
See More
SRAM Maven Silver 4-piston hydraulic disc Surly Gloria |
Genesis
|
| *Brake rotorSingular |
Early RiderRoad / Gravel / Touring BikesAmflowSize:Enigma
S, M, L, XL
Hybrid / City BikesYeti SRAM HS2, 6-bolt, 200mmFrogSecond-Hand Bikes |
See More
|
Size:
Electric BikesShop All Second-HandBrother Surly
S, M, L, XL
SRAM HS2, 6-bolt, 220mm Kids Bikes Genesis |
UTO (ex Eovolt)
Custom Builds
|
| Rotor sizeEarly Rider | Max brake rotor sizes – Frame: 220 mm, Fork: see fork manufacturer Custom Builds for saleEnigma | Shop by Brand
TrekServices
Custom Builds
See More
SingularTrack Your Service
WorkshopEnigma
Insure Your Bike
Other
See MoreSee MoreWorkshop Prices
See More
Frog
Cycle To Work Schemes
Parts & Components
Second-Hand Bikes
| KonaCustom Builds | Track Your Service | SurlyCycle To Work Schemes
|---|---|
| UTO (ex Eovolt)Insure Your Bike | OtherCustom BuildsEarly Rider |
Shop All Second-Hand
BrandsParts & Components
HopeCustom Builds
See MoreBrandsCustom Builds for saleEnve