Here at ProjektRide, we rent out our in-house built Surly and Brothers bike packing bikes. These have been custom-built with care and attention to ensure you have an awesome and hassle-free time on your bike trip!
Italy (EUR€)
Frequently Asked Questions
1. Choose Bike
Choose your preferred bike from our collection of in-house custom-builds
Jersey (GBP£)
and add to your basket. Bikes can also be hired in store.
I'm looking to find out more information about a product, where can I find this?
Kenya (KESKSh)
Please get in touch with a member of the team either by phone (
01313745324
2. Choose Equipment (Optional)) or email (
Choose any optional free equipment - shown in the hire section - and add[email protected]Kosovo (EUR€)
it to your basket so it's ready for you when you pick up your bike. ) where on of the team will be more than happy to help.
This can also be done in store.ProjektRide Bike Shop Edinburgh
Latvia (EUR€)
I'm looking to buy this product, when will it arrive and how much does postage cost?
3. Pay Online or In-Store
Lesotho (GBP£)
Checkout the hire items in your basket and pay with all major credit cards, PayPal or Klarna. Payments can be made in store without going through the online shop. Please call the shop to book out in-person.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.
We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop EdinburghLiberia (GBP£)
82 Newington Road, EH91QN, Edinburgh.
4. Wait For Confirmation
Wait for one of the team to confirm your booking. This is separate from the payment confirmation. A confirmation email will be sent within 24 hours, during shop opening times.
Libya (GBP£)
Collect your bike in store alongside all optional equipment. Please bring a form of identification (Driver's licence or Passport) to complete the booking.
Lithuania (EUR€)
Luxembourg (EUR€)
6. Ride Confident!You May Also Like
Enjoy your bike for the hire period! The bike must be returned to the store during opening hours of the return date.Enjoy your bike for the hire period! The bike must be returned to the store during opening hours of the return date.
Madagascar (GBP£)
Recently viewed
Malawi (MWKMK)
Frequently Asked Questions
Mali (XOFFr)
Malta (EUR€)
We will require your full name, address and any suitable form of identification such as a passport or a driver's license.
Mauritania (GBP£)
This will be collected in store when you come to collect the bike.
Mauritius (MUR₨)
Yes - you can come in store to hire a bike and can even pay with cash too! However, it would be best to #SiteFooter {
--PT: 100px;
--PB: 10px;
--bg-lighten-darken-shimmer-bg: #0d0d0d;
--bg-lighten-darken-shimmer-effect: #121212;
--text: #ffffff;
--text-alpha-15: rgba(255, 255, 255, 0.15);
--text-alpha-50: rgba(255, 255, 255, 0.6);
--text-alpha-85: rgba(255, 255, 255, 0.85);--border: #ffffff;}
#SiteFooter .footer-bottom { --grid-columns: 3; }Mayotte (EUR€)
call in advance
to ensure we have a suitable bike for you to rent.
Buy, sell and ride in confidence on ProjektRide’s premium bikes
Monaco (EUR€)
We offer free quipment hire with a valid bike hire. You can see our range of equipment for hire
Quick Linkshere
.
Montenegro (EUR€)
About Us
Morocco (MADد.م.)
Contact Us
We like to keep things simple here at ProjektRide, we don't take any form of security deposit.
If you happen to damage the bike, our insurance will cover it fully! We do ask for a valid passport document upon collection.
Blog
Mozambique (GBP£)
Track Service Progress
Namibia (GBP£)
Building Your Bike From the Box
If you are looking for a custom bike for your tour,
please get in touch
. We can do full custom-builds at a higher rental rate.Insure Your BikeNetherlands (EUR€)
Close
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 = 'product';
window._RestockRocketConfig.liquidRenderedAt = 1789500709;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.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,58086941819263,58145667154303,58156649972095,58205080093055,58205080125823,58434279833983],"updated_at":"2026-09-15T19:25:43Z","market_locations_enabled":false,"market_id":382140642,"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-15T19:01:17Z","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-15T19:31:43Z","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"}];window._RestockRocketConfig.product = {"id":8063305187554,"title":"Halo T2 26\" Wheels","handle":"halo-t2-26-wheels","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col-md-8\"\u003e\n\u003cp\u003eMiddleweight multi-purpose 26\" MTB wheels.\u003c\/p\u003e\n\u003cp\u003eLight and strong, angular style box section rim, with eyelets and a stable screw-pin joint.\u003c\/p\u003e\n\u003cp\u003eThe front wheel features the Halo MT front hub and the rear comes with the choice of either our Spin Doctor geared hub or our RL SS single speed hub. All of these hubs feature sealed bearings for longevity.\u003c\/p\u003e\n\u003cp\u003eBoth wheels come with black ED finished spokes.\u003c\/p\u003e\n\u003cp\u003eThe Black Anodised finish 32mm rims are suitable for Vs or Disc brakes, whilst the White Powder coated option is recommended for disc use only.\u003c\/p\u003e\n\u003cp\u003ePlease note you will need to order additional HG type sprockets for these rear wheels. \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cem\u003e\u003cstrong\u003eNote:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eAnodised finish rims will accept V-brakes, but naturally, the brake surface colour finish will wear.\u003c\/em\u003e\u003c\/p\u003e\n\u003ch4\u003eIncluded Fittings\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100 x 15mm thru\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear 135\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135 x 9mm QR\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRims: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo 32mm T2 rims with eyelets\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHubs: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo MT Series hubs\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eExternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e32mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eNipples: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRim Depth: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e20.5mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eInternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e26mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Hub Spacing: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear spacing: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFreehub Body: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano HG compatible\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpoke lengths: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e258mm (front), 256\/254mm (rear)\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpoke pattern: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eRace optimised 36H rear \u0026amp; 32H front spoking\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBearings: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e6804 (front), 6200\/6000 (rear) cartridge bearings\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTubeless: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eNo\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eColour: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack anodised or White powder coated\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cdiv class=\"logo-brand\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-01-10T11:12:57+00:00","created_at":"2023-03-26T11:56:17+01:00","vendor":"halo","type":"wheels","tags":["Complete wheels","Halo","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":15999,"price_min":15999,"price_max":15999,"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":43981392773346,"title":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included HS","option1":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included HS","option2":null,"option3":null,"sku":"WHHA26H1K","requires_shipping":true,"taxable":true,"featured_image":{"id":39122259575010,"product_id":8063305187554,"position":1,"created_at":"2023-03-26T11:56:41+01:00","updated_at":"2023-03-26T11:56:41+01:00","alt":null,"width":1170,"height":1070,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201","variant_ids":[43981392773346]},"available":true,"name":"Halo T2 26\" Wheels - T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included HS","public_title":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included HS","options":["T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included HS"],"price":15999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":31721008857314,"position":1,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43981392806114,"title":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included White","option1":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included White","option2":null,"option3":null,"sku":"WHHA26H1W","requires_shipping":true,"taxable":true,"featured_image":{"id":39122260099298,"product_id":8063305187554,"position":2,"created_at":"2023-03-26T11:56:56+01:00","updated_at":"2023-03-26T11:56:56+01:00","alt":null,"width":1170,"height":1070,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.51.png?v=1679828216","variant_ids":[43981392806114]},"available":true,"name":"Halo T2 26\" Wheels - T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included White","public_title":"T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included White","options":["T2 26 Rear SS HG Single Speed HG Sealed Bearing Cassette Disc hub 36H cog NOT included White"],"price":15999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":31721009381602,"position":2,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.51.png?v=1679828216"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43981392838882,"title":"T2 26 Front Halo SB Black Disc Hub 32H (15mm) Black","option1":"T2 26 Front Halo SB Black Disc Hub 32H (15mm) Black","option2":null,"option3":null,"sku":"WHHA26KF","requires_shipping":true,"taxable":true,"featured_image":{"id":39122260525282,"product_id":8063305187554,"position":3,"created_at":"2023-03-26T11:57:13+01:00","updated_at":"2023-03-26T11:57:13+01:00","alt":null,"width":1170,"height":1070,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.08.png?v=1679828233","variant_ids":[43981392838882]},"available":true,"name":"Halo T2 26\" Wheels - T2 26 Front Halo SB Black Disc Hub 32H (15mm) Black","public_title":"T2 26 Front Halo SB Black Disc Hub 32H (15mm) Black","options":["T2 26 Front Halo SB Black Disc Hub 32H (15mm) Black"],"price":15999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":31721009807586,"position":3,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.08.png?v=1679828233"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43981392871650,"title":"T2 26 Rear Halo SB Black Disc Hub 36H Shimano HG Black","option1":"T2 26 Rear Halo SB Black Disc Hub 36H Shimano HG Black","option2":null,"option3":null,"sku":"WHHA26KR","requires_shipping":true,"taxable":true,"featured_image":{"id":39122261278946,"product_id":8063305187554,"position":4,"created_at":"2023-03-26T11:57:31+01:00","updated_at":"2023-03-26T11:57:31+01:00","alt":null,"width":1170,"height":1116,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.26.png?v=1679828251","variant_ids":[43981392871650]},"available":true,"name":"Halo T2 26\" Wheels - T2 26 Rear Halo SB Black Disc Hub 36H Shimano HG Black","public_title":"T2 26 Rear Halo SB Black Disc Hub 36H Shimano HG Black","options":["T2 26 Rear Halo SB Black Disc Hub 36H Shimano HG Black"],"price":15999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":31721010561250,"position":4,"preview_image":{"aspect_ratio":1.048,"height":1116,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.26.png?v=1679828251"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":43981392937186,"title":"T2 26 Disc Rear Disc Rim on Halo SB Black Disc Hub 36H Shimano HG White","option1":"T2 26 Disc Rear Disc Rim on Halo SB Black Disc Hub 36H Shimano HG White","option2":null,"option3":null,"sku":"WHHA26WKR","requires_shipping":true,"taxable":true,"featured_image":{"id":39122262196450,"product_id":8063305187554,"position":6,"created_at":"2023-03-26T11:57:58+01:00","updated_at":"2023-03-26T11:57:58+01:00","alt":null,"width":1170,"height":1116,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.53.png?v=1679828278","variant_ids":[43981392937186]},"available":true,"name":"Halo T2 26\" Wheels - T2 26 Disc Rear Disc Rim on Halo SB Black Disc Hub 36H Shimano HG White","public_title":"T2 26 Disc Rear Disc Rim on Halo SB Black Disc Hub 36H Shimano HG White","options":["T2 26 Disc Rear Disc Rim on Halo SB Black Disc Hub 36H Shimano HG White"],"price":15999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":31721011478754,"position":6,"preview_image":{"aspect_ratio":1.048,"height":1116,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.53.png?v=1679828278"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.51.png?v=1679828216","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.08.png?v=1679828233","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.26.png?v=1679828251","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.47.png?v=1679828271","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.53.png?v=1679828278"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201","options":["Size"],"media":[{"alt":null,"id":31721008857314,"position":1,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201"},"aspect_ratio":1.093,"height":1070,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.36.png?v=1679828201","width":1170},{"alt":null,"id":31721009381602,"position":2,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.51.png?v=1679828216"},"aspect_ratio":1.093,"height":1070,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.56.51.png?v=1679828216","width":1170},{"alt":null,"id":31721009807586,"position":3,"preview_image":{"aspect_ratio":1.093,"height":1070,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.08.png?v=1679828233"},"aspect_ratio":1.093,"height":1070,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.08.png?v=1679828233","width":1170},{"alt":null,"id":31721010561250,"position":4,"preview_image":{"aspect_ratio":1.048,"height":1116,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.26.png?v=1679828251"},"aspect_ratio":1.048,"height":1116,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.26.png?v=1679828251","width":1170},{"alt":null,"id":31721011282146,"position":5,"preview_image":{"aspect_ratio":1.048,"height":1116,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.47.png?v=1679828271"},"aspect_ratio":1.048,"height":1116,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.47.png?v=1679828271","width":1170},{"alt":null,"id":31721011478754,"position":6,"preview_image":{"aspect_ratio":1.048,"height":1116,"width":1170,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.53.png?v=1679828278"},"aspect_ratio":1.048,"height":1116,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-26at11.57.53.png?v=1679828278","width":1170}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col-md-8\"\u003e\n\u003cp\u003eMiddleweight multi-purpose 26\" MTB wheels.\u003c\/p\u003e\n\u003cp\u003eLight and strong, angular style box section rim, with eyelets and a stable screw-pin joint.\u003c\/p\u003e\n\u003cp\u003eThe front wheel features the Halo MT front hub and the rear comes with the choice of either our Spin Doctor geared hub or our RL SS single speed hub. All of these hubs feature sealed bearings for longevity.\u003c\/p\u003e\n\u003cp\u003eBoth wheels come with black ED finished spokes.\u003c\/p\u003e\n\u003cp\u003eThe Black Anodised finish 32mm rims are suitable for Vs or Disc brakes, whilst the White Powder coated option is recommended for disc use only.\u003c\/p\u003e\n\u003cp\u003ePlease note you will need to order additional HG type sprockets for these rear wheels. \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cem\u003e\u003cstrong\u003eNote:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eAnodised finish rims will accept V-brakes, but naturally, the brake surface colour finish will wear.\u003c\/em\u003e\u003c\/p\u003e\n\u003ch4\u003eIncluded Fittings\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100 x 15mm thru\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear 135\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135 x 9mm QR\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRims: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo 32mm T2 rims with eyelets\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHubs: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo MT Series hubs\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eExternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e32mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eNipples: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRim Depth: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e20.5mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eInternal Rim Width: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e26mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Hub Spacing: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear spacing: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFreehub Body: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano HG compatible\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpoke lengths: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e258mm (front), 256\/254mm (rear)\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSpoke pattern: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eRace optimised 36H rear \u0026amp; 32H front spoking\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBearings: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e6804 (front), 6200\/6000 (rear) cartridge bearings\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTubeless: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eNo\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eColour: \u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eBlack anodised or White powder coated\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cdiv class=\"logo-brand\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e"};window._RestockRocketConfig.variantsInventoryPolicy = {43981392773346 : "continue",43981392806114 : "continue",43981392838882 : "continue",43981392871650 : "continue",43981392937186 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {43981392773346 : parseInt("5"),43981392806114 : parseInt("0"),43981392838882 : parseInt("5"),43981392871650 : parseInt("0"),43981392937186 : parseInt("0"),};
window._RestockRocketConfig.variantsPreorderCount = {43981392773346 : parseInt(""),43981392806114 : parseInt(""),43981392838882 : parseInt(""),43981392871650 : parseInt(""),43981392937186 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {43981392773346 : null,43981392806114 : null,43981392838882 : null,43981392871650 : null,43981392937186 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {43981392773346 : parseInt(""),43981392806114 : parseInt(""),43981392838882 : parseInt(""),43981392871650 : parseInt(""),43981392937186 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43981392773346 : null,43981392806114 : null,43981392838882 : null,43981392871650 : null,43981392937186 : null,};
window._RestockRocketConfig.variantsShippingText = {43981392773346 : "",43981392806114 : "",43981392838882 : "",43981392871650 : "",43981392937186 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {43981392773346 : null,43981392806114 : null,43981392838882 : null,43981392871650 : null,43981392937186 : null,};window._RestockRocketConfig.selected_variant_id = 43981392773346;
window._RestockRocketConfig.selected_variant_available = (window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available;
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);
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/01a0958b-0d97-7d26-bb37-d8c9bf182bac/restockrocket-1-585/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0958b-0d97-7d26-bb37-d8c9bf182bac/restockrocket-1-585/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0958b-0d97-7d26-bb37-d8c9bf182bac/restockrocket-1-585/assets/restockrocket-product-bis.js'
window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0958b-0d97-7d26-bb37-d8c9bf182bac/restockrocket-1-585/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 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 || '';
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 && _sqTrack.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),
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.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
}
});
}
(function loadStorefrontSettings() {
const cfg = window._RestockRocketConfig;
if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return;
function run() {
const query = 'query StoqSettings($namespace: String!) { shop { metafield(namespace: $namespace, key: "settings") { value } } }';
fetch(
`https://${cfg.shop}/api/2026-07/graphql.json`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken,
},
body: JSON.stringify({ query: query, variables: { namespace: cfg.metafieldNamespace } }),
}
)
.then(function(response) {
if (!response.ok) { throw new Error('Storefront API HTTP ' + response.st
atus); }
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(', '));
}
const value = body && body.data && body.data.shop && body.data.shop.metafield && body.data.shop.metafield.value;
if (!value) { throw new Error('Storefront API returned no settings metafield value'); }
cfg.storefrontSettings = JSON.parse(value);
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.cachedSetti
ngs;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} 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;
}
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 no
t 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) {
c