Repository navigation
Conversation
…veral boxes Split air conditioners ship in two or three boxes (indoor and outdoor units), but the quote sent one package per cart item with the product weight and dimensions, so Frenet prices didn't match the carrier panel. Products may now list their boxes on the hidden metafield `shipping/volumes` (JSON, kg and cm). The app fetches the cart products once per quote (in parallel, falling back to the product data on error) and sends one package per volume times the item quantity. Products without volumes keep the previous behavior. Shipping items builder and volumes parser moved to `volumes.mjs`, covered by unit tests (`node --test tests-unit/`). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split air conditioners ship in 2–3 boxes (indoor and outdoor units). The Frenet quote sent one package per cart item with the product weight and dimensions, so prices didn't match the Frenet panel (Bom Ar Condicionado, store 401214).
How
shipping/volumes, JSON with weight (kg) and[length, width, height](cm):[{"kg":9.5,"cm":[90,30,25]},{"kg":23,"cm":[80,60,35]}].ShippingItemArrayentry per volume, times the item quantity. Products without the metafield: unchanged.Chosen over modelling each box as a product and the appliance as a kit: that would create hundreds of box products with their own price and stock, unknown to the ERP (Olist/Tiny) that also integrates marketplaces.
Tests
node --test packages/apps/frenet/tests-unit/(parser and package builder). Not yet compared against the Frenet panel: waiting for the store's box measures.🤖 Generated with Claude Code