checkout_read
Arguments
ID!
required
Checkout experience ID.
Returns
A checkout experience: a named group of shipping methods shown together at checkout. It does not decide who sees it — the checkout tree does. An experience can also group checkout widgets and a post-purchase upsell page; neither is covered here.
Show fields
Show fields
Boolean!
required
True when this experience is reachable in the team’s live checkout tree.
Boolean
True when landed costs (duties and import fees) are added to every method’s price in this experience. Omitted when the merchant has never configured it.
[ID!]
Shipping methods shown first at checkout, in this order, as IDs from
methods. The first one available is pre-selected for the shopper; methods not listed follow in their usual order. Omitted when auto-selection is off for this experience.Int
Days Redo assumes an order takes to ship when it estimates delivery dates, for every shipping method in this experience. A dynamic method’s own
fulfillmentDelayDaysOverride takes precedence. Omitted when the experience uses the store-level value. A whole number of days, zero or more.ID!
required
Checkout experience ID.
required
Shipping methods offered by this experience.
Show fields
Show fields
Boolean
True when landed costs (duties and import fees) are added to this method’s price, overriding the experience-level setting. Omitted when the method does not override it.
Dynamic methods only. The carrier services this method quotes live rates from. This is the answer to ‘which carrier do my checkout rates come from’ — the rates are fetched by Redo from these carriers. Empty means no carrier service has been pinned, so the method draws on whatever the account has available.
Show fields
Show fields
required
Carrier this method draws a live rate from.
Boolean
Whether the merchant has this carrier service turned on. A disabled service is configured but not quoted. Defaults to true, and is omitted only on records predating the flag.
Markup applied to this carrier service specifically, on top of any method-level markup. Omitted when no per-service markup is set.
String!
required
Carrier-specific service code, e.g. ‘fedex_ground’ or ‘usps_priority’. The valid set differs per carrier, so this is not a single closed enum.
String!
required
Shopper-facing description shown next to the method at checkout. Like
name, it may contain customer-name template variables; see fallbackDescription.Dynamic methods only. Carriers never considered for this method. Omitted when no carrier is excluded.
String
Shopper-facing description used in place of
description under the same condition as fallbackName: description contains customer-name template variables and the shopper’s name is not available. Omitted when the merchant has not set one.String
Shopper-facing name used in place of
name when name contains customer-name template variables and the shopper’s name is not available at quote time. Ignored when name has no variables. Omitted when the merchant has not set one, in which case an unpersonalized name renders with the variables emptied out.Int
Dynamic methods only. Days Redo assumes an order takes to ship when it estimates delivery dates for this method, overriding the experience’s
fulfillmentDelayDaysOverride. Omitted when the method uses the experience’s value, or the store-level value if the experience sets none. A whole number of days, zero or more.ID!
required
Shipping method ID.
Dynamic methods only. Markup applied to every live carrier rate on this method, on top of which per-carrier-service markups still apply. Omitted when no method-level markup is set.
Show fields
Show fields
Flat amount added on top of every carrier rate. Omitted when only a percentage markup is set, or none.
String!
required
Shopper-facing name of the shipping method as it appears at checkout. May contain customer-name template variables — ‘{customer_name}’, ‘{customer_name:first}’, ‘{customer_name:last}’ — which are substituted per shopper. Preserve them when rewriting this field, or personalization is silently dropped; see
fallbackName for what is shown when the shopper’s name is unknown.[String!]
Tags applied to the order when this method is bought. Omitted when the merchant has configured no tags.
Dynamic methods only. Hard clamp applied after markup and rounding. Omitted when the price is not clamped.
Bounds the method’s sold price must stay within. Omitted when the merchant has set no price or margin constraints.
Show fields
Show fields
Float
Floor applied after the relative bound: the effective minimum is the greater of this and the referenced price plus
byAtLeast. Present only on ‘RELATIVE_TO_OTHER_RATE_TABLE’ constraints, and omitted when unset.How far above the referenced method’s price this method must sit. Present only on ‘RELATIVE_TO_OTHER_RATE_TABLE’ constraints, and omitted when unset.
How far above the referenced method’s price this method may sit. Present only on ‘RELATIVE_TO_OTHER_RATE_TABLE’ constraints, and omitted when unset.
String!
required
Currency all bounds are expressed in.
How the bounds are expressed: ‘DEFAULT’ bounds the price absolutely, ‘RELATIVE_TO_OTHER_RATE_TABLE’ bounds it against another shipping method’s price.
Suggested lower margin bound. Omitted when no lower margin bound is set.
Suggested upper margin bound. Omitted when no upper margin bound is set.
Float
Highest price this method may be sold at. Present only on ‘DEFAULT’ constraints, and omitted when no upper bound is set.
Float
Lowest price this method may be sold at. Present only on ‘DEFAULT’ constraints, and omitted when no lower bound is set.
ID
ID of the shipping method this method’s price is bounded against. Matches the
id of another method in this same response. Present only on ‘RELATIVE_TO_OTHER_RATE_TABLE’ constraints.String!
required
Human-readable price: ‘FREE’, a formatted amount like ‘$5.99’, ‘DYNAMIC’ for carrier-calculated rates, ‘CUSTOM’ for merchant-scripted rates, or ’-’ when no price is configured. Reflects only the first entry in
rates, so on a method with several it can read ‘FREE’ or show the cheapest tier while most carts are charged something else — read rates for the full picture.Dynamic methods only. Which of the eligible live carrier rates is shown to the shopper. Omitted when the merchant has not chosen a preset.
Fixed methods only. Every configured price, in order. More than one entry means the price varies by cart weight or cart value; a single entry with empty
conditions is a flat price.Show fields
Show fields
required
Cart weight or cart value conditions this price applies to. Empty when the price applies to every cart.
String!
required
Currency of
price.Boolean
Whether the merchant has this rate turned on. Defaults to true, and is omitted only on records predating the flag.
Dynamic methods only. How the marked-up price is rounded before it is shown. Omitted when prices are shown unrounded.
String
Identifier the storefront platform uses for this shipping option at checkout. Omitted when the merchant has not set one.
Dynamic methods only. When set, the cheapest carrier service delivering within this service level’s window is used. Omitted when the method is not bucketed by service level.
Shipping discounts applied to this method, in order. READ ONLY: these are configured by Redo, not by the merchant, and they sync to a live storefront-platform function, so writing them here would put the stored rules and the deployed function out of step. Creating or updating a shipping method carries them over untouched. Omitted when the method has no discount rules.
Show fields
Show fields
String
Currency the cart bounds and discount amount are expressed in. Omitted when the rule sets neither cart bounds nor a flat discount amount.
Flat amount taken off the shipping price, as a decimal string. Omitted when the rule discounts by percentage instead.
Percentage taken off the shipping price, as a decimal string (e.g. ‘50’ means half off). Omitted when the rule discounts by a flat amount instead.
Float
Cart total at or below which the discount applies. Omitted when the rule has no upper bound.
Float
Cart total at or above which the discount applies. Omitted when the rule has no lower bound.
required
How the price is produced: FIXED is a merchant-set price served by Redo with no carrier involved, DYNAMIC is quoted live from the carriers listed in
carrierServices, CUSTOM is produced by a merchant-authored script.String!
required
Merchant-facing name of the checkout experience.
Example
query {
checkoutExperience(id: "...") {
active
addLandedCosts
autoSelectedShippingMethodIds
createdAt
fulfillmentDelayDaysOverride
id
name
}
}