Skip to content

Commit 4a820b0

Browse files
committed
Free U.S. shipping, flat $20 international
- Worker offers two shipping methods: US free, international flat $20 - Reconcile shipping.html / product.html / success.html / cart copy - Bump quoted production lead time to 2-3 weeks (under-promise) https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
1 parent 7d598fb commit 4a820b0

5 files changed

Lines changed: 25 additions & 17 deletions

File tree

product.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ <h3>Materials &amp; specs</h3>
9090
<li><strong>Finishing:</strong> Inspected, signed, and numbered by hand</li>
9191
</ul>
9292
<h3>Shipping &amp; returns</h3>
93-
<p>Each edition is plotted to order. Please allow 7–14 days for production before dispatch. U.S. shipping is included; international calculated at checkout. Damaged-in-transit pieces are replaced free. See <a href="shipping.html">Shipping</a> &amp; <a href="returns.html">Returns</a>.</p>
93+
<p>Each edition is plotted to order. Please allow up to 2–3 weeks for production before dispatch. Free U.S. shipping; flat $20 international at checkout. Damaged-in-transit pieces are replaced free. See <a href="shipping.html">Shipping</a> &amp; <a href="returns.html">Returns</a>.</p>
9494
</div>
9595
</div>
9696
</div>

scripts/cart.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
'<div class="cart-items"></div>' +
7171
'<div class="cart-foot">' +
7272
'<div class="cart-sub"><span class="tiny">Subtotal</span><span class="cart-sub-val">' + money(0) + '</span></div>' +
73-
'<p class="cart-note tiny">Shipping + any taxes calculated at checkout. Each edition is plotted to order.</p>' +
73+
'<p class="cart-note tiny">Free U.S. shipping. International + any taxes calculated at checkout. Each edition is plotted to order.</p>' +
7474
'<button class="cart-checkout">Checkout</button>' +
7575
'</div>';
7676

shipping.html

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,25 @@ <h1>Shipping<span class="star">*</span></h1>
5050
</div>
5151
<div class="page-body">
5252
<h3>Domestic (U.S.)</h3>
53-
<p>All editions ship flat in rigid, protective packaging. Standard shipping within the continental United States is included in the price of every edition.</p>
53+
<p><strong>U.S. shipping is free</strong> on every edition. Each piece ships flat in rigid, protective packaging with tracking.</p>
5454
<ul>
55-
<li>Standard delivery: 5 – 10 business days</li>
56-
<li>Expedited delivery available at checkout for an additional fee</li>
55+
<li>Free standard shipping, included in the price</li>
56+
<li>Typical delivery: 2 – 5 business days once dispatched</li>
5757
</ul>
5858

5959
<h3>International</h3>
60-
<p>We ship worldwide. International orders are sent via tracked, insured carriers. Delivery times vary by destination but typically range from 10 – 21 business days.</p>
60+
<p>We ship to Canada, the U.K., Australia, Germany, France, and Japan for a flat $20, selected at checkout. International orders go via tracked carriers.</p>
6161
<ul>
62-
<li>International shipping fees are calculated at checkout based on destination and edition size</li>
62+
<li>Flat $20 international shipping</li>
63+
<li>Typical delivery: 1 – 4 weeks, depending on destination and customs</li>
6364
<li>Customs duties and import taxes are the responsibility of the buyer</li>
6465
</ul>
6566

6667
<h3>Made to Order</h3>
67-
<p>Every edition is plotted to order. Please allow 7 – 14 days for production before your piece ships. You will receive a tracking number as soon as your order is dispatched.</p>
68+
<p>Every edition is plotted to order. Please allow up to 2 – 3 weeks for production before your piece ships. You will receive a tracking number as soon as your order is dispatched.</p>
6869

6970
<h3>Packaging</h3>
70-
<p>Each piece is placed between acid-free tissue, backed with rigid board, and sealed in a protective sleeve before being placed in an oversize flat mailer or tube. We take great care to ensure your work arrives in perfect condition.</p>
71+
<p>Each piece is sleeved, layered with glassine to protect the ink, sandwiched between rigid boards, and sealed in a stay-flat mailer. We take great care to ensure your work arrives flat and in perfect condition.</p>
7172
</div>
7273
</div>
7374
</section>

success.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ <h1>Order confirmed<span class="star">*</span></h1>
5252
<div class="page-body">
5353
<h3>Thank you</h3>
5454
<p>Your edition is now in the queue to be plotted. A receipt is on its way to your email, and you'll get a tracking number once it ships.</p>
55-
<p>Each piece is drawn to order on the AxiDraw. Please allow 7–14 days for production before dispatch. See <a href="shipping.html">Shipping</a> for full timing.</p>
55+
<p>Each piece is drawn to order on the AxiDraw. Please allow up to 2–3 weeks for production before dispatch. See <a href="shipping.html">Shipping</a> for full timing.</p>
5656
<p id="ref" class="tiny" style="color:var(--dim);letter-spacing:.06em"></p>
5757
<p style="margin-top:24px"><a href="/#shop" style="font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px">← Back to the work</a></p>
5858
</div>

worker/src/index.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,14 @@ const CATALOG = {
3333
// we know which pen to load before plotting.
3434
const PEN_COLORS = { black: "Black", red: "Red", blue: "Blue" };
3535

36-
const SHIPPING = { label: "Standard shipping", cents: 900 };
36+
// U.S. shipping is free (cost is baked into the edition price). International
37+
// is a flat rate. Stripe shows these as selectable methods at checkout; the
38+
// order email includes the shipping address so destination mismatches are
39+
// easy to spot.
40+
const SHIPPING_OPTIONS = [
41+
{ label: "United States · Free shipping", cents: 0 },
42+
{ label: "International · Flat rate", cents: 2000 }
43+
];
3744

3845
const SUCCESS_URL = "https://plotflow.io/success.html?session_id={CHECKOUT_SESSION_ID}";
3946
const CANCEL_URL = "https://plotflow.io/?checkout=cancelled";
@@ -91,12 +98,12 @@ export default {
9198
form.set("phone_number_collection[enabled]", "true");
9299
SHIP_COUNTRIES.forEach((c, i) => form.set(`shipping_address_collection[allowed_countries][${i}]`, c));
93100

94-
if (SHIPPING.cents > 0) {
95-
form.set("shipping_options[0][shipping_rate_data][type]", "fixed_amount");
96-
form.set("shipping_options[0][shipping_rate_data][fixed_amount][amount]", String(SHIPPING.cents));
97-
form.set("shipping_options[0][shipping_rate_data][fixed_amount][currency]", CURRENCY);
98-
form.set("shipping_options[0][shipping_rate_data][display_name]", SHIPPING.label);
99-
}
101+
SHIPPING_OPTIONS.forEach((opt, i) => {
102+
form.set(`shipping_options[${i}][shipping_rate_data][type]`, "fixed_amount");
103+
form.set(`shipping_options[${i}][shipping_rate_data][fixed_amount][amount]`, String(opt.cents));
104+
form.set(`shipping_options[${i}][shipping_rate_data][fixed_amount][currency]`, CURRENCY);
105+
form.set(`shipping_options[${i}][shipping_rate_data][display_name]`, opt.label);
106+
});
100107

101108
form.set("metadata[editions]", orderSummary.join(", "));
102109

0 commit comments

Comments
 (0)