"Arrives today" is a promise. Agents should only make it when stock, distance and store hours all check out. Here's how to quote delivery honestly.
Delivery promise accuracy sounds like an operations metric. For an agent, it's a trust metric. One missed "today" teaches a shopper that your agent's promises are decoration.
Why delivery promise accuracy slips
Same-day promises usually break in three ways.
- Stale stock. The item was there when the data was collected. By the time someone went to buy it, it wasn't. Inventory on shelves moves, and every record has an age.
- Closed stores. The item is in stock, but the store is shut, or closes before anyone can get there. If nobody knows the store's hours, nobody can promise a time.
- Out-of-range addresses. The item exists, but not close enough. Local delivery is offered when a store with the item is within about 30 miles. Past that, it's a shipping order.
Each failure comes from the same mistake: saying "today" because it would be nice, not because it was checked.
Quote before you promise
A delivery quote is a set of checks that all have to pass. For JENNi, an agent asks get_buying_options with a product_id, a zip, a quantity and a fulfillment_mode.
{
"product_id": "<product_id from search_catalog>",
"zip": "<5-digit US ZIP>",
"quantity": 1,
"fulfillment_mode": "local_delivery"
}The response carries availability, price, delivery fee, delivery promise and the total before tax, as separate fields. The agent reads the delivery promise and repeats what it says. It doesn't improve on it.
The rule is short. Same day is verified only when the delivery promise says "Get it today." Anything else, and the agent doesn't say today. We also never promise same day when store hours are unknown, because without hours there's nothing to check the promise against.
Tax isn't in that total. It's added at checkout, so tell the user that when you show the number.
The fallback: ship it
Same day isn't always possible, and that's fine. JENNi ships anywhere in the US, so there's almost always a second option.
Ask again with ship_to_home as the fulfillment_mode.
{
"product_id": "<product_id from search_catalog>",
"zip": "<5-digit US ZIP>",
"quantity": 1,
"fulfillment_mode": "ship_to_home"
}Show the user both when both exist. A shopper who learns "not today, but here's when it ships and what it costs" still has a good answer. A shopper who was told "today" and got tomorrow has a bad one.
Also remember that search shows in-stock items only, but a product opened directly can still be quoted. Always go by the quote, not by the fact that something appeared in search.
How to word delivery for shoppers
How your agent says it matters as much as what it knows.
- Repeat the promise, don't upgrade it. If the quote says "Get it today," say today. If it says something softer, say that.
- Say what you checked. "This one can come today to your ZIP" is clearer than "should be there soon."
- Offer the next best option out loud. "Not same day for this address. It can ship."
- Keep the total honest. Price, delivery fee and the total before tax, then say tax is added at checkout.
- Avoid hedged hope. Words like "probably" and "hopefully" invite the exact disappointment you're trying to avoid.
If conditions change, checkout re-verifies current price and availability and refuses stale prices. Nothing is charged until the shopper approves the final total.
Why this is worth the effort
A conservative promise costs you a little excitement. A broken one costs you the shopper. Agents live on trust, because users hand them a task and expect it done. Every honest "not today, but here's when" builds the habit of believing what your agent says, and that belief is what makes people come back with the next request.
If you test one thing, test the edges: an address far from any store, a request when stores are closed, a quantity larger than usual. Each should come back with a quote your agent repeats exactly. If your agent turns any of those into "today," fix the wording before shoppers find it.
Make the promise you can keep
Connect to https://shop.jennipro.com/mcp, request a quote for your own ZIP, and read what the delivery promise field says. Then build your agent to say only that.