COMPLETED: Product Shipping Configuration Fixes

Frank Mingione 5 min read

Product Shipping Configuration Fixes - COMPLETED

Summary

Fixed 19 products with shipping configuration issues:

  • ✅ 9 service packages (set to install-only)
  • ✅ 9 products incorrectly marked as freight (changed to oversized)
  • ✅ 1 exhaust with missing dimensions (added estimates)
  • ✅ 1 true freight item verified (250 lb short block)

Issues Found & Fixed

Issue #1: Service Packages Requiring Shipping

Problem: Power packages and truck packages are install-only services, but had requiresShipping: true or invalid weight/dimensions.

Fixed 9 products:

  1. FAS 850 Package | Trackhawk & Durango
  2. FAS Factory Freak Package (TRX)
  3. FAS 500+ Performance Package (F-150)
  4. FAS 900 Package | Hellcat Platform (was productType: physical!)
  5. FAS 850 Package | TRX
  6. FAS 800 Performance Package | TRX
  7. FAS 1000 Performance Package | TRX (was productType: physical!)
  8. FAS 800 Performance Package | Trackhawk/Durango
  9. FAS 800 Performance Package | Charger & Challenger

Changes:

  • productType: 'service' (2 were incorrectly 'physical')
  • shippingConfig.requiresShipping: false
  • shippingConfig.weight: null
  • shippingConfig.dimensions: null
  • shippingConfig.shippingClass: 'install_only'
  • shippingConfig.handlingTime: 0

Result: These products no longer require shipping configuration and won't trigger freight detection.

Issue #2: Products Incorrectly Marked as Freight

Problem: Products under 150 lbs were marked as freight, causing $250 shipping quotes instead of $40-60 UPS rates.

UPS/FedEx Limits:

  • Max weight: 150 lbs
  • Max dimension: 108 inches
  • Max combined (L+W+H): 165 inches

Fixed 9 products (all under limits):

1. FAS 2.7L IHI Supercharger Rebuild

  • Weight: 75 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

2. FAS High Temp Blower Case Coating

  • Weight: 70 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

3. Audi Eaton Supercharger Porting

  • Weight: 70 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

4. FAS M122 / M112 Supercharger Porting

  • Weight: 60 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

5. 3.0L Whipple Porting Service

  • Weight: 100 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

6. FAS 4.5L Whipple Supercharger Race Porting

  • Weight: 85 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

7. FAS HEMI Cylinder Head Porting Service

  • Weight: 60 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

8. 2.7L Redeye Supercharger Race Ported Core

  • Weight: 120 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

9. 2.4L Dominator Race Supercharger Package

  • Weight: 120 lbs (24x20x12 = 56" combined)
  • Changed: freight → oversized
  • Ships: UPS Ground

Result: These products will now get accurate UPS Ground rates ($40-60) instead of freight ($250).

Issue #3: One TRUE Freight Item

Hellcat 426 Short block (BGE)

  • Weight: 250 lbs (36x36x8)
  • Status: ✅ Correctly marked as freight
  • This DOES need freight shipping

Issue #4: Missing Dimensions

6" Axel-Back Exhaust (Powerstroke)

  • Had: 0x0x0 dimensions, 0.01 lbs
  • Fixed: 48x12x12 dimensions, 25 lbs (typical exhaust)
  • Class: oversized (due to 48" length)

Remaining Issues to Fix

Schema Issue: Top-Level shippingClass Field

Some products still have shippingClass: "Freight" at the root level, but this field is hidden/read-only in the schema.

Not critical because:

  • shippingConfig.shippingClass is the source of truth
  • Sync scripts read from shippingConfig first
  • Legacy field doesn't affect functionality

Can be cleaned up later with a migration script.

Validation Still Too Strict

The product schema validation still warns at 50 lbs:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Should be:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

This needs a schema update (send to Codex).

Next Steps

  1. Products fixed (19 products corrected)
  2. Update freight threshold in getShippingQuoteBySkus.ts (70 → 150)
  3. Update validation in product.ts (50 → 150)
  4. Deploy changes
  5. Test: 75 lb product should get UPS rates, not freight

Testing

After deploying threshold fixes, test these products:

  • 75 lb supercharger → Should quote UPS Ground ($40-60)
  • 120 lb dominator → Should quote UPS Ground ($50-70)
  • 250 lb short block → Should require freight ($250+)
  • Service packages → Should skip shipping entirely

Codex Prompt for Remaining Fixes

Please fix the freight detection thresholds:

  1. getShippingQuoteBySkus.ts - Change freight threshold from 70 lbs to 150 lbs
  2. product.ts validation - Change warning threshold from 50 lbs to 150 lbs
  3. Remove legacy shippingClass field - Clean up root-level field (optional)

Goal: Products under 150 lbs get UPS rates, not forced to freight.

Related Posts

Top Products

Explore our most requested billet components and performance upgrades, each engineered in-house and backed by track data.

Top Services

Pair your hardware upgrades with professional installation, calibration, and security options from the F.A.S. Motorsports team.